jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 2016
-
18 avril 2007 à 17:31
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 2016
-
19 avril 2007 à 14:19
Bonjour à tous,
Je suis en train de développer une appli de control à distance avec Winsock( dans la plus grande déontologie...) et j'utilise cette fonction:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
pour connaitre quelle touche a été enfoncer, jusque là tout va bien! Mais sur l'appli client, je ne parviens pas à trouver la fonction inverse de "GetAsyncKeyState" pour simuler l'appui d'une touche ou d'un click souris.
Novice ( et un peu perdu...)dans l'utilisation des DLL, j'ai essayer sans succés "SetAsyncKeyState"
Quelqu'un connaitrait-il la soluce?
Merci à tous
PS: Où peut on trouver toutes les fonctions d'une DLL comme "USER32"?
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 18 avril 2007 à 20:19
Violent Ken
Au fait j'oubliais : pour obtenir le nom de toutes les fonctions de par exemple User32.dll, ouvre la dll avec l'utilitaire dependecy walker (fourni avec VB6, nommé DEPENDS.exe)
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 18 avril 2007 à 21:39
En effet, DEPENDS permet de voir le contenu d'une DLL, mais comment peut on connaitre l'utilisation et l'utilité de chaque fonction...L'exemple de USER32 compte pas moins de Fonctions, c'est a y perdre son latin...comment savoir la syntaxe a utilisé pour chacune d'entre elle, y a t il un site dédié, des ouvrages info, ou autres...
J'ai sans doute l'air un peu couillon, mais jusqu'a l'heure, j'utilisé les codes trouvé sur le site, mais je voudrais comprendre tout ce que je fais...
diablamanshadow
Messages postés419Date d'inscriptionlundi 30 août 2004StatutMembreDernière intervention28 janvier 2008 19 avril 2007 à 12:06
pour simuler l'appuie d'une touche pourquoi pas un sendkeys ? tu envoie ta donnee a distance par socket genre
sendkeys.h (h serais la lettre a simuler la pression) une fois arrivee dans le data arrivals de l'exe a distance hop tu split avec le . (ou tu utilise une touche ascii bizzard pour pas ne pas pouvoir simuler un .)
une fois fait tu fais le code genre (en prennant que ta un tableau() et que les donnee arrive dans le data)
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 19 avril 2007 à 12:39
Violent Ken
"pour simuler l'appuie d'une touche pourquoi pas un sendkeys" ==> sans doutes pour la même raison que ce qui l'a poussé à utiliser GetAsyncKeyState plutôt que l'évenement KeyPress...
@+
Hex Editor VB
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 19 avril 2007 à 13:28
Merci a tous pour vos reponses.
J'ai utilisé la soluce de Violent Kent (Keybd_event..)et cela fonctionne tres bien pour simuler l'appui de touche, par contre, la simulation des clicks souris, pour exemple "Keybd_event 1,0,0 '(VbLeftButton=1) ne fonctionne pas....
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 19 avril 2007 à 13:38
Violent Ken
Aller, pendant que j'y suis : (pour la souris)
'Before you start this program, I suggest you save everything that wasn't saved yet.
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Private Sub Form_Activate()
'KPD-Team 1998
'URL: http://www.allapi.net/ 'E-Mail: KPDTeam@Allapi.net
Do
'Simulate a mouseclick on the cursor's position
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI
DoEvents
Loop
End Sub , ----
By Renfield
@+ (et pense à valider les réponses qui te conviennent, comme çà le prochain utilisateur qui tombera sur ce post saura directement où trouver les réponses)