Equivalent a Senkey

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 - 6 sept. 2003 à 21:33
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 7 sept. 2003 à 00:23
Salut a tous,
vous connaisser l'instruction SendKeys, c'est une instruction qui envoie une ou plusieurs touches à la fenêtre active comme s'il s'agissait d'une saisie directe au clavier.
Connaissez-vous un équivalent?
Merci par avance...
Bob...

9 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
6 sept. 2003 à 21:38
Salut,
Il faut envoyer un message WM_KEYDOWN a la fenetre ou tu veux simuler une saisie au clavier, avec SendMessage() par exemple.
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
6 sept. 2003 à 21:42
ok, mais tu pourrais exlpiker stp, a quoi servent, WM_KEYDOWN et SendMessage(), ainsi que leur syntaxe si possible... (au moins dire a quoi elles servent, juste pour que je sache...)
merci
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
6 sept. 2003 à 21:45
Salut,
WM_KEYDOWN = Un message windows (WindowsMessage Keydown).
SendMessage() = Pour envoyer un message (comme son nom l'indique).

Syntaxe de tout ca sur msdn.
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
6 sept. 2003 à 21:49
ok je te remerci bcp...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
6 sept. 2003 à 21:56
Salut,
Tiens un petit exemple:
Avec ces 2 lignes de code je met winamp en pause (en simulant l'apuis sur la touche 'c' dans la fenetre de winamp).

//trouve le handle de la fenetre de winamp
HWND hWnd = FindWindow("Winamp v1.x", 0);

//on envoie la touche 'c' (virtual key code: 0x43) a hWnd
SendMessage(hWnd, WM_KEYDOWN, 0x43, 0);
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
6 sept. 2003 à 22:52
ok c encore mieux maintenant, je te remercie énormemant...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 sept. 2003 à 23:49
SendMessage() ne rend la main qu'une fois le message traite, faudra donc se mefier, lui preferer PostMessage(), si possible, pour communiquer avec un processus externe dont on ne maitrise pas le code.
BruNews, ciao...
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
7 sept. 2003 à 00:18
et si on reprend le code de aardman, comment faire pour taper la lettre 'c' par exemple au bout de par exemple 3 secondes (ca c pas important je c le faire), dans la fenetre active (la fentre selectionner)?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 sept. 2003 à 00:23
PostMessage possede les memes params que SendMessage, la diff est asyncho ou synchro.
PostMessage ne t'emportera pas dans un plantage si le destinataire plante.
Fais gaffe que taper des questions et attendre la reponse prend souvent + de temps qu'aller la chercher dans msdn.
BruNews, ciao...
0
Rejoignez-nous