Bonjour,

Voici un petit code que j'ai placé au début de mon appli mfc pour détecter si une instance de cette même application est déjà ouverte :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
// Vérification d'une instance déjà ouverte
  HANDLE HWnd = CreateMutex(NULL, false, "Manager");
  if(GetLastError()==ERROR_ALREADY_EXISTS)
  {
      HANDLE h;
      h = FindWindow(NULL,"Manager");
      if(h != NULL)
     {
	//AfxMessageBox("Instance déjà ouverte !");
	::SendMessage((HWND)h,WM_SYSCOMMAND, SC_RESTORE, 0);
            this->DestroyWindow();
      }
  }
Mon appli tourne en tache de fond iconisé en Trayicon.
J'aimerais restaurer l'application automatiqument.
Mais avec sendmessage l'application se plante complètement.

Est ce que quelqu'un aurait une idée ?

Merci d'avance