cs_Taurus67
Messages postés10Date d'inscriptionlundi 27 décembre 2004StatutMembreDernière intervention10 août 2006
-
10 août 2006 à 19:01
cs_Taurus67
Messages postés10Date d'inscriptionlundi 27 décembre 2004StatutMembreDernière intervention10 août 2006
-
10 août 2006 à 23:35
Bonjour, alors voila j'ai essayé pas mal de trucs mais je n'arrive pas à simuler l'opération SHIFT+Click_Gauche bien que cela semble trivial.
Tout d'abord les sendkeys sont à proscrire car ils n'envoient qu'une impulsion ( pour la pression de la touche SHIFT ).
J'ai alors essayé la fonction keybd_event à travers le code suivant :
keybd_event &H10, 0, 0, 0 #pression sur la touche shift
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI #click gauche
keybd_event &H10, 0, 2, 0 #relachement de la touche shift
mais cela ne fonctionne malheursement pas.
C'est pourquoi je fais appel à vos connaissances pour m'aider et je vous en remercie d'avance.
cs_Taurus67
Messages postés10Date d'inscriptionlundi 27 décembre 2004StatutMembreDernière intervention10 août 2006 10 août 2006 à 23:35
Sendmessage ne semble facile à utiliser :(
Voici un premier bout de code, je rappelle que je voudrais simuler :
Appuyer sur la touche a
Enfoncer la touche shift
Clicker gauche
Relacher la touche shift
<
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
SendKeys "a" #Pression touche "a", aucun problème.
Dim wc3handle As Long
wc3handle = FindWindow(vbNullString, "Warcraft III") #Récupération de l'handle de l'appli, ici warcraft III, aucun problème non plus apparement car si je lance le code il bascule sur le jeu.
SendMessage wc3handle, &H10, 0, 0& #Alors là je ne sais pas trop.... &H10 pour SHIFT, le 0 je sais pas, et le 0& parcequ'il est dans presque tous les exemples que j'ai vu, quoi qu'il en soit, cela n'a pas l'air de fonctionner
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI
>
En résumé, je ne sais pas utiliser la fonction Sendmessage :( , la documentation dans la librairie msdn est peu complète à mon gout et les exemples que j'ai trouvé ne correspondent pas vraiment à mon besoin.
Si quelqu'un sait comment utiliser Sendmessage ou si quelq'un ) une autre idée pour maintenir la touche shift pendant un click gauche, n'hésitez surtout pas.