Accueil > Forum > > > > Detecter l'evenement d'un bouton appuyé dans une fenetre d'un logiciel
Detecter l'evenement d'un bouton appuyé dans une fenetre d'un logiciel
dimanche 20 mars 2005 à 12:04:41 |
Detecter l'evenement d'un bouton appuyé dans une fenetre d'un logiciel

danyo
|
Salut,
Comment puis-je détecter l'événement qu'un bouton d'une fenêtre d'un logiciel a été appuyé? Par exemple, dans Word, quand je veux sauvegarder mon document j'appuie sur 'SaveAs' et ca ouvre un SaveFileDialog avec les boutons 'Save' et 'Cancel'. Dans mon programme j'ouvre Word, je parcours les fenêtres pour obtenir le contenu du combo box/edit box. Ensuite, j'aimerais savoir sur quel bouton a appuyé l'utilisateur (Save ou Cancel)? Aussi, ou puis-je trouver la liste des API avec la description de leurs fonctionnalités?
Merci
|
|
dimanche 20 mars 2005 à 13:21:25 |
Re : Detecter l'evenement d'un bouton appuyé dans une fenetre d'un logiciel

DARKSIDIOUS
|
Un des moyens et de redéfinir les événements souris (avec la
fonction de l'API SetCapture), mais cela n'est pas forcément très
pratique à utiliser.
Il vaudrait mieux faire un hook système, mais là, comme le dirait brunews, il vaux mieux passer au C !
Pour la liste des API, va télécharger mon viewer d'api : plus de 500
fonctions documentés en français pour plusieurs langages. (voir le lien
de ma signature) DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
|
|
dimanche 20 mars 2005 à 14:13:57 |
Re : Detecter l'evenement d'un bouton appuyé dans une fenetre d'un logiciel

danyo
|
Salut DarK Sidious,
Merci pour ton API viewer, il est extraordinaire!!!
Je ne sais pas qu'est ce qu'un Hook System. Peux-tu m'indiquer ou est ce qu'on peut trouver une explication exhaustive avec un exemple, ou bien me l'expliquer en quelques lignes.
J'ai jeté un coup d'oeil sur la fonction SetCapture dans ton API viewer et je ne vois pas trop comment capter l'evenement du bouton appuyé.
Encore une fois merci.
|
|
dimanche 20 mars 2005 à 14:33:45 |
Re : Detecter l'evenement d'un bouton appuyé dans une fenetre d'un logiciel

DARKSIDIOUS
|
Un hook systeme consiste à intercepter tout les messages windows avant
qu'ils ne soient dispatché sur les fenêtres. Ce n'est pas facile à
gérer, et surtout, en VB, c'est du suicide (VB adore les hooks... lol)
Pour SetCapture, il suffit de lui spécifier le handle d'une fenêtre, et
alors tout les événements souris seront envoyés à cette fenêtre (par
exemple, un bouton). DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) :
|
|
dimanche 20 mars 2005 à 15:07:15 |
Re : Detecter l'evenement d'un bouton appuyé dans une fenetre d'un logiciel

BruNews
|
Comme dit par DARKSIDIOUS, un hook est une interception. Il peut être local à ton prog ou alors global au système.
Cas du hook system: il sera placé dans une chaine d'interceptions, le dernier créé est placé au début et a donc la main pour savoir s'il veut ou non retransmettre ce qu'il intercepte. Pour être créé avec réussite par Windows, le code du hook devra se trouver dans une dll afin que le système mappe une copie de cette dll dans chaque espace mémoire de tous les processus (en mode user, non kernel) actuellement chargés. Si l'initialisation du code DLL_PROCESS_ATTACH de DllMain aboutit, alors le hook est lancé. Le code du hook proprement dit doit se trouver dans une fonction exportée de la dll, c'est son adresse que l'on donne à SetWindowsHookEx. Tout ceci implique par force que cette dll soit en code natif (directement exécutable par le processeur) et exclut donc les langages interprétés de la prog system, il serait inconcevable de mapper des virtual machine dans chaque processus. En résumé et comme dit plus haut, il faudra passer par le C (ou ASM).
ciao... BruNews, MVP VC++
|
|
lundi 21 mars 2005 à 14:39:04 |
Re : Detecter l'evenement d'un bouton appuyé dans une fenetre d'un logiciel

danyo
|
merci pour tous ces informations!
A DarkSidious, Je n'ai toujours pas saisi ce qu'il faut faire avec SetCapture. Mon but est de savoir si l'utilisateur a appuyé sur Save ou sur Cancel
A BruNews, peux-tu m'orienter comment utiliser les hook pour atteindre mon objectif.
Merci
|
|
mardi 22 mars 2005 à 12:33:20 |
Re : Detecter l'evenement d'un bouton appuyé dans une fenetre d'un logiciel
|
Cette discussion est classée dans : bouton, logiciel, evenement, detecter, appuyé
Répondre à ce message
Sujets en rapport avec ce message
Rester appuyé sur un bouton [ par dracito ]
Bonjour a tous,pouvez vous me dire comment faire pour incrémenter une variable de 1 a chaque fois que l'on appuye sur un bouton de commande(pas compli
clic sur un bouton pour arreter un evenement? [ par lapolo13 ]
Salut à tous,Je suis en train de develloper une application qui permet d'ecouter des messages recu.Je lance la reception des messages à l'infini (whil
condition sur bouton option valide ou non [ par nanach ]
Bonjour ti souci tout bête (surement) mais que j'arrive pas à régler :s j'ai 3 bouton option ma procédure doit etre si bouton1 appuyé alors mac
appler l'evenement clik bouton [ par jakob06 ]
Bonjour,J'ai 2 boutons VB chacun sur une feuille excel , je veux appeler l'un (simuler l'evenement click ) dans le code de l'autre.cmt je dois faire
execute un prog tant que le bouton gauche de la souris est appuyé sur un bouton [ par bibinutz ]
salut tout le mondevoila le dilemne lol :je souhaiterais incrementer une valeur tant qu'un bouton reste appuyé a l'aide de la souris mais le prob c qu
Detecter un evenement sous IE [ par aKheNathOn ]
Bonjour,Je me perd un peu dans les termes BHO et ATL. Je veux juste créer un simple utilitaire permettant d'intercepter les événements d'une instance
l'evenement du bouton Entrer dans une datagrid [ par big wallace ]
salut tous le mondesi vous le permettez, je voudrai savoir comment ajouter une ligne dans une datagrid, et quand je presse sur le bouton entrer la lig
detecter un mouvement de la souris hors de la form [ par adnotlegland ]
Bon ben question récurrente on dirais mais je voulais juste m'en assurais :je souhaite detecter un evenement hors de la forme (en l'occurence un depla
help, bouton de raccorci [ par adibas ]
Salut Je réalise un petit programme en VB.net au cours des mes études qui consiste a faire une interface qui contient un bouton qui lance l'exécuti
Livres en rapport
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|