problème SetForegroundWindow

Le
Ibal Khan
Bonjour,

Voilà mon problème. J'aimerais pouvoir interagir avec un programme via
l'API de windows. Pour l'instant j'arrive à:
- interagir avec Winamp et en simulant des raccourcis clavier avec le
code suivant :
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char * argv[])
{
HWND hWin;
if(hWin = FindWindow("Winamp v1.x",NULL))
{
SetForegroundWindow(hWin);

keybd_event(VK_MENU,0,0,0);
keybd_event(VK_F4,0,0,0);
keybd_event(VK_F4,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);
}
else
cout << "Impossible de trouver hWin" << endl;

return EXIT_SUCCESS;
}


qui permet de fermer la fenêtre.
Je peux aussi dire de faire lire/pause en remplaçant les keybd_event
par:

PostMessage(hWin,WM_KEYDOWN,'X',0);
PostMessage(hWin,WM_KEYUP,'X',0);
Sleep(2000);
PostMessage(hWin,WM_KEYDOWN,'C',0);
PostMessage(hWin,WM_KEYUP,'C',0);


ce qui me permet d'écouter pendant deux secondes la musique puis ça la
met en pause.

Par contre, le SetForegroundWindow ne me met pas Winamp en premier
plan.
Si j'essaie de faire le même raccourci "alt+f4" sur chrome par exemple
(dont le nom de classe correspondant est "Chrome_WidgetWin_0") ça ne
marche pas, de même que SetForegroundWindow.

Quelqu'un aurait-il une idée?

merci d'avance!

PS: j'utilise windows 7 64 bit. Mon problème viendrait-il de là?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christian ASTOR
Le #23421431
Ibal Khan a écrit :

Par contre, le SetForegroundWindow ne me met pas Winamp en premier
plan.




ça marche chez moi avec SwitchToThisWindow()

Mais pas la même config : XP SP3
et Winamp v.5.5.7.2928 (classe "BaseWindow_RootWnd");
Publicité
Poster une réponse
Anonyme