Envoi de message à une fenêtre spécifique
Bonjour à tous,
voici une question qui me tracasse !
Pourquoi ce code marche:
Code:
1 2 3 4 5 6 7 8 9 10
| #include "windows.h"
int main()
{
HWND handle = FindWindow("notepad",0);
SetForegroundWindow(handle);//met la fenêtre sur laquelle on veut écrire au premier plan (ne marche que si fenetre existe, et est non réduite)
keybd_event( VK_SPACE, 0, 0, 0 ); // simulation de l'appui de la touche
keybd_event( VK_SPACE, 0, KEYEVENTF_KEYUP, 0 ); // simulation du relachement de la touche
return 0;
} |
Et pas celui-ci:
Code:
1 2 3 4 5 6 7 8 9 10
| #include "windows.h"
int main()
{
HWND handle = FindWindow("notepad",0);
SetFocus(handle); // Censé mettre le focus clavier sur la fenêtre ou l'on veut envoyer les touches
keybd_event( VK_SPACE, 0, 0, 0 ); // simulation de l'appui de la touche
keybd_event( VK_SPACE, 0, KEYEVENTF_KEYUP, 0 ); // simulation du relachement de la touche
return 0;
} |
Dans le premier cas, on est obligé de mettre la fenêtre en question (ici le bloc note) au premier plan, ce que je voudrais éviter, alors que dans le deuxième cas on est censé pouvoir écrire dans la fenêtre choisie sans pour autant devoir la mettre au premier plan, mais ça n'a pas l'air de marcher ?
Merci d'avance !