Relachement touche ctrl

Résolu
sedera15 Messages postés 31 Date d'inscription vendredi 27 janvier 2012 Statut Membre Dernière intervention 4 octobre 2013 - 4 janv. 2012 à 13:41
sedera15 Messages postés 31 Date d'inscription vendredi 27 janvier 2012 Statut Membre Dernière intervention 4 octobre 2013 - 4 janv. 2012 à 16:37
Bonjour!
j'ai voulu simuler une combinaison de touche (ctrl+Z)pour revenir en arrière, sur une application extérieur mais quand j'essaie avec l'API keybd_event, le touche ctrl n'est plus relaché, voici mon code:
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


Private Sub Command1_Click()
dim clsP as CProcessInfo 'depuis la source de Philippe734 sur les processus
set clsP=New CProcessInfo 
hwd=clsP.GetProcessWindowHwndByName("appliexterne.exe")
 BringWindowToTop hwd 'pour mettre l'appliexterne au premier plan      
Sleep 200
    keybd_event 17, 0, 0, 0 'appui sur ctrl
    keybd_event vbKeyZ, 0, 0, 0 'appui sur Z
    keybd_event 17, 0, KEYEVENTF_KEYUP, 0 'relachement (à mon avis) du ctrl
    keybd_event vbKeyZ, 0, KEYEVENTF_KEYUP, 0 'relachement de Z
set clsP=Nothing
end sub

Le ctrl+Z est simulé parfaitement mais le problème c'est que la touche ctrl n'est plus relaché!
est-ce que quelqu'un peut m'aider SVP?
merci d'avance

PS: j'ai déja rechercher sur codes-sources mais il n'y a pas d'info sur comment "relacher ctrl", il n'y avait que comment relacher les autres touches du clavier (mais qui marche bien sauf pour ctrl)

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
4 janv. 2012 à 14:26
Pas le plus simple pour piloter une application

faire un SendMessage WM_COMMANDe en transmettent l'ID du menu a lancer

pas clari, prendre des cours de pilotage ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
sedera15 Messages postés 31 Date d'inscription vendredi 27 janvier 2012 Statut Membre Dernière intervention 4 octobre 2013
4 janv. 2012 à 15:34
merci pour le cours de pilotage Renfield
J'ai aussi trouvé quelque chose qui pourrait aider les autres forumeurs, une petite application qui s'appelle WinID, elle vous donne tous les informations sur n'importe quel truc survolé par le souris!

un grand merci à vbfrance!
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
4 janv. 2012 à 15:59
similaire à Spy++ ou autre applications indispensables a qui souhaites piloter.

ravi que tu aies pu t'en sortir.

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
sedera15 Messages postés 31 Date d'inscription vendredi 27 janvier 2012 Statut Membre Dernière intervention 4 octobre 2013
4 janv. 2012 à 16:37
merci à toi
0
Rejoignez-nous