0

我有一个经过编程和使用的流程

CWinApp(
   LPCTSTR lpszAppName = NULL 
);

我知道 lpszAppName。

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

谢谢

4

1 回答 1

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;
}
于 2012-06-11T14:23:20.607 回答