cs_imanewin32
Messages postés70Date d'inscriptionmardi 30 mars 2004StatutMembreDernière intervention12 août 2004
-
9 août 2004 à 14:33
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
9 août 2004 à 17:46
pour éviter que mon application se lance plusieurs fois,j'ai utilisé
le code:
hSingle = ::CreateMutex(NULL, TRUE, m_pszExeName);
if (ERROR_ALREADY_EXISTS == GetLastError())
{
return FALSE;
}
c'est vrai que cette façon permet d'éviter que l'application se lance plus qu'une fois.mais,comment faire pour ramener l'application en 1 er plan si elle est déjà lancé???????????
cs_imanewin32
Messages postés70Date d'inscriptionmardi 30 mars 2004StatutMembreDernière intervention12 août 2004 9 août 2004 à 17:32
j'arrive pas à faire la traduction de votre code en le mien
enfaite moi je travaille avec MFC(sous visual 5)
et j'ai arrivé à faire le code
BOOL CFalEtiCoupeApp::InitInstance()
{
//pour éviter qu'une application se lance plusieurs fois
HANDLE hSingle;
hSingle = ::CreateMutex(NULL, TRUE, m_pszExeName);
if (ERROR_ALREADY_EXISTS == GetLastError())
{
SetForegroundWindow(((CDialog*)this)->m_hWnd);
return FALSE;
}
/////(...le reste)
}
mais apparement la fonction SetForegroundWindow ne donne aucun résultat.
que dois-je faire
aidez moi je suis débutante en programmation
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 août 2004 à 17:46
if(IsMappedSysApp(szappname)) return 0;
Voila ce qu'il faut mettre au debut de ton prog, InitInstance ou autre machin de ce genre.
Dans le WM_CREATE (vois equivalent en sabir mfc) tu mets:
MapUnicSysApp(hmain, szappname);
ou hmain doit etre le hwnd de cette premiere fenetre de ton prog.
Faisable non ?