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