Как можно предотвратить запуск второй копии программы?
Какими путями можно предотвратить запуск второй копии программы на Win32-совместимой ОС?
Цитата:
Originally posted by VoldemarS
Какими путями можно предотвратить запуск второй копии программы на Win32-совместимой ОС?
Какими путями можно предотвратить запуск второй копии программы на Win32-совместимой ОС?
Q> Как проследить чтобы только одна копия приложения работала в данный момент
A>
BOOL WeAreAlone (LPSTR szName)
{
HANDLE hMutex = CreateMutex (NULL, TRUE, szName);
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
CloseHandle(hMutex);
return FALSE;
}
return TRUE;
}
И в начале WinMain или main -
if (WeAreAlone ("Some_Unique_Name_Or_Other"))
{
// Proceed
}
else
{
MessageBox (NULL,"Error","Error: app already running!",MB_OK|MB_ICONERROR);
exit(1);
}