我有一个已编程和使用的过程

CWinApp(
   LPCTSTR lpszAppName = NULL
);


我知道lpszAppName。

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

谢谢

最佳答案

使用命名的互斥锁:

在程序开始时:

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

关于c++ - 检查CWinApp是否存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10978914/

10-11 23:21