Bonjour,
Est-il possible a partir de mon application de simuler un click de souris sur un bouton d'une autre application ?
Si oui, auriez-vous un exemple SVP ?
Merci d'avance
Fred
Bonjour,
Est-il possible a partir de mon application de simuler un click de souris sur un bouton d'une autre application ?
Si oui, auriez-vous un exemple SVP ?
Merci d'avance
Fred
D'après moi ceci devrait fonctionné:
Bien sûr il faut trouver les bonnes infos sur le bouton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SendMessage(hParent, WM_COMMAND, MAKELONG(ID_de_ton_control, BN_CLICKED), (LPARAM)hButton);
Pour plus d'info sur le message BN_CLICKED:
http://msdn.microsoft.com/en-us/library/aa452896.aspx
Si c'est simuler un click sur un bouton d'une application totalement independante de celle que tu utilise c'est possible, mais il te faut recuperer les Handles de la Form, et des divers elements, jusqu'au boutton
Tiens voici une solution plus complète que j'ai volé sur Experts Exchange
Pour trouvé certaine information tu dois utilisé un programme comme WinSpy++.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 //------------ 1er - trouvé la fenêtre ------------// HWND hDlg = FindWindowEx(NULL, NULL, m_lpszClass, (LPCTSTR)m_strWindowText); //------------ 2e - trouvé et cliqué sur le bouton ------------// if (hDlg) { HWND hControl = 0; hControl = GetDlgItem(hDlg, m_nControlID); if ( PostMessage(hDlg, WM_COMMAND, (WPARAM)((BN_CLICKED*0x10000)+m_nControlID), (LPARAM)hControl) ) if ( ! m_bLurk) return true; }
je connaissais pas ton tool sinon pour recuperer id handle
il y a aussi un super outil dispo à l install d autoIt : Au3Info.exe
http://www.autoitscript.com/autoit3/
Salut,
Merci pour vos reponses, je vais essayer...
Juste encore une petite question:
Si je ne me trompe pas , l'ID de mon control (button) change a chaque nouvelle execution de l'application ? Comment je peux faire car dans vos exemples on a besoin d'un ID pour le control ?
cedni, je suis alle voir Au3Info.exe, et ca a l'air pas mal du tout ce soft, mais je voudrais essayer de le faire moi meme dans mon application. Si vraiment je n'y arrive pas, alors je me rabattrais sur Au3Info.exe.
Merci
Fred
Il faut pour recuperer le Handle d'une Form utiliser comme la dit Crayon un utilitaire comme WinSpy++ qui va te lister touts les programmes en cour, ca te permet de recuperer le nom de la fenetre, et son Handle
Normalement la variable m_nControlID ne devrais pas changer si c'est toujours le même bouton. Avec WinSpy++ sélectionne le bouton et regarde la valeur à côté de Control ID.
Les seuls valeurs qui changent sont les valeurs défini par HWND.
Pour remplir la variable m_lpszClass il faut sélectionné la fenêtre complète de ton application et regarder la valeur à Class. Par exemple, avec Firefox on obtient MozillaUIWindowClass. Et on rempli m_strWindowText avec le texte qui est dans Caption.
Pour plus d'info sur FindWindowEx va voir:
http://msdn.microsoft.com/en-us/libr...00(VS.85).aspx
Partager