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);
}