problème SetForegroundWindow

Le
Ibal Khan
Bonjour,

Voil mon problme. 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 fentre.
Je peux aussi dire de faire lire/pause en remplaant 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 mme raccourci "alt+f4" sur chrome par exemple
(dont le nom de classe correspondant est "Chrome_WidgetWin_0") a ne
marche pas, de mme que SetForegroundWindow.

Quelqu'un aurait-il une ide?

merci d'avance!

PS: j'utilise windows 7 64 bit. Mon problme viendrait-il de l?
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