只运行同一个程序运行一个
HANDLE hMutex;
hMutex = ::OpenMutexA(MUTEX_ALL_ACCESS, false, MUTEX_MAINAPP);
// 打开处理
if (hMutex)
{
Sleep(500);
CloseHandle(hMutex);
hMutex = ::OpenMutex(MUTEX_ALL_ACCESS, false, MUTEX_MAINAPP);
}
if (hMutex)
{
CloseHandle(hMutex);
//HWND hWnd = FindWindowEx(NULL, NULL, WINMAIN_CLASSNAME, NULL);
HWND hWnd = FindWindow(NULL, "窗口标题");
if (hWnd)
{
//::ShowWindow(hWnd, SW_RESTORE);
::ShowWindow(hWnd, SW_SHOWNORMAL);
::SetForegroundWindow(hWnd);
::FlashWindow(hWnd, true);
}
//exit(0);
return false;
}
hMutex = ::CreateMutex(NULL, TRUE, MUTEX_MAINAPP);