begin process at 2010 03 20 18:57:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

API

 > 

Detecter l'evenement d'un bouton appuyé dans une fenetre d'un logiciel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Membre Club Administrateur CodeS-SourceS
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

Membre Club Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

BruNews

Administrateur CodeS-SourceS
Lire l'indispensable Richter:
[ Lien ]
[ Lien ]

Voici aussi quelques-uns de mes exemples sur CS:
HOOK SYSTEM SUR WM_MOUSEWHEEL (WIN32)
http://www.cppfrance.com/code.aspx?ID=25998
DLL HOOK EN RESSOURCE BINAIRE DU PROG (WIN32)
http://www.cppfrance.com/code.aspx?id=25450
HOOK F11 SUR IE (WIN32)
http://www.cppfrance.com/code.aspx?id=18202*
HOOK CLAVIER
http://www.cppfrance.com/code.aspx?id=17818
LIMITE LE NBR DE FENETRES IE V2 (WIN32)
http://www.cppfrance.com/code.aspx?id=17387
LIMITE LE NBR DE FENETRES INTERNET EXPLORER (WIN32)
http://www.cppfrance.com/code.aspx?id=11059
NO TASK MANAGER (WIN32)
http://www.cppfrance.com/code.aspx?id=11186
HOOK DE ENTER SUR DIALOGBOX (WIN32)
http://www.cppfrance.com/code.aspx?id=11007
HOOK SUR FENETRE (WIN32)
http://www.cppfrance.com/code.aspx?id=10997
AJOUTER UN MENU A NOTEPAD (WIN32)
http://www.cppfrance.com/code.aspx?ID=28181

ciao...
BruNews, MVP VC++


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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales