我编写代码并使用MFC。 我想检查过程是否存在。
例如:
if (myProcess.exe exists)
do something
else
do something else
我该怎么做?
谢谢
答案 0 :(得分: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;
}
答案 1 :(得分:0)
答案 2 :(得分:0)
该进程可以将其进程ID存储在文件中。在正常退出时,删除该文件。
在下一次启动时,进程可以查看文件是否存在,如果存在,则可以读取该文件,并检查该进程ID。
答案 3 :(得分:0)
尝试在包含Psapi.h后立即添加此行:
#pragma comment(lib, "psapi.lib")
也尝试这个:
#pragma comment(lib, "kernel32.lib")