Basculer un programme déjà lancé en premier plan - C++ - Programmation
Marsh Posté le 07-07-2005 à 14:08:47
Essaie ça:
Code :
|
Ca c'est du Win 32 classique. En MFC ça doit donner ça:
Code :
|
Moralité: quand on fait du WIN32 pur on n'oublie pas le '::' devant les fonctions...
Marsh Posté le 07-07-2005 à 17:22:28
Une derniere petite chose :
La fenetre de mon programme n'a pas de nom, je recupere #32770 comme nom, donc pas moyen de la selectionner pour la mettre en premier plan...
Comment puis-je lui donner un nom ? (comme 'MonProg' par ex ?)
Marsh Posté le 08-07-2005 à 09:20:50
Oui, Il change bien le titre de la fenetre, mais pas le nom de la class name.
Quand je lance un petit soft pour donner le class name du programme en éxecution, ca me donne "#32770", alors que pour le notepad par exemple, ca me donne "Notepad" ...
Marsh Posté le 08-07-2005 à 11:23:15
Excuse je n'avais pas bien compris.
Alors la classname elle doit être définie dans la structure WNDCLASS si je me souviens bien.
Marsh Posté le 07-07-2005 à 13:22:40
Bonjour,
J'essaie en C++ sous Visual Studio 6 de basculer en premier un programme déjà lancé.
J'arrive à le faire en C mais pas dans mon appli MFC.
En C, j'ai ce source :
int main()
{
// recherche de la fenetre Notepad
HWND hFore = FindWindow("Notepad",NULL);
//affichage en premier plan du notepad
SetForegroundWindow(hFore);
}
Et ça marche correctement.
Mais une fois mis dans une MFC, ça ne marche pas :
void CJeffSend30Dlg::UnSeulJeffSend()
{
//HWND remplacé par CWnd sinon la commande ne marche pas ( erreur : cannot convert from 'class CWnd *' to 'struct HWND__ )
CWnd * hFore = FindWindow("Notepad",NULL);
SetForegroundWindow(hFore);
}
J'ai une erreur à la compilation qui me dit que SetForegroundWindow(hFore) ne prends pas de parametres...
J'ai essayé beaucoup de solutions mais rien de marche.
Merci d'avance ^^