2012-06-11 58 views
0

我有一个程序性和使用检查CWinApp的存在

CWinApp(
    LPCTSTR lpszAppName = NULL 
); 

我知道lpszAppName的过程。

通过使用lpszAppName,我想检查这个WinApp进程是否存在。 我该怎么办?

感谢

+1

你应该建立在程序的全局mutex开始,所以你可以在开始时检查它的存在。 – Vlad

回答

1
命名互斥

用途:

在节目的开头:

HANDLE hMutex = CreateMutex(NULL, TRUE, "Your program name"); 
if (GetLastError() == ERROR_ALREADY_EXISTS) 
{ 
    // Process already running. 
    CloseHandle(hMutex); 
} 
else 
{ 
    // No process running. 
} 

在节目的结尾:

if (hMutex) 
{ 
    CloseHandle(hMutex); 
    hMutex = NULL; 
}