le plus simple pour empecher qu'un process se lance plus d'une fois : ouvrir un mutex.
au début de ton code : (apres le winmain ou le main)
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
{
HANDLE hMutex=CreateMutex(NULL, TRUE, "unnomunique");
if (!hMutex)
{
MessageBox(NULL, "Impossible de créer le mutex.", NULL, MB_OK | MB_ICONINFORMATION);
return 0;
}
// On essaye de s'approprier le mutex
if (ReleaseMutex(hMutex))
{
// Appropriation ok
// ici le code de ton programme
}
else
{
MessageBox(NULL, "Impossible de lancer ce programme plus d'une fois !!", NULL, MB_OK | MB_ICONINFORMATION);
}
}
voila ca ca marche!!
a+ ;)