检查进程是否存在
Check for process existing
我写一段代码并使用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;
}
尝试在
包含 Psapi.h 后立即添加此行:
#pragma comment(lib, "psapi.lib")
也试试这个:
#pragma comment(lib, "kernel32.lib")
您必须枚举进程
例如
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682623%28v=vs.85%29.aspx
进程可以将其进程 ID 存储在文件中。正常退出时,删除该文件。
在下次启动时,进程可以查看文件是否存在,如果存在,它可以读取该文件,并检查该进程 ID。
相关文章:
- 这个极客对极客的trie实现是否存在内存泄漏问题
- 有了gcc,是否可以链接库,但前提是它存在
- gcc和clang在表达式是否为常量求值的问题上存在分歧
- 如何检查QList中是否存在值
- 根据某个函数是否存在启用模板
- 地图计数确实很重要,或者只是检查是否存在
- C++中是否存在 std::conditional 的懒惰等价物?
- 无论如何,我可以确定构造函数是否存在吗?
- COM :是否可以查看是否存在对我的某个 COM 对象的进程外引用?我可以释放它吗?
- 堆分配的对象是否存在永不为空的唯一所有者?
- 扩展类中的可选 vir 函数,测试它在运行时是否存在
- 模板化检查是否存在带有参数列表的类成员函数?
- 是否存在包含负号的isdigit函数(过载)
- 如何巧妙地编写两个函数——一个用于检查是否存在解决方案,另一个用于获取所有解决方案
- 检查编译时是否存在静态函数
- 向量是否存在行主要形式?
- 检查 TinyXML 中的元素是否存在
- 检测是否存在具有 C++17 的类成员
- 虚拟继承中是否存在多重继承?
- 我遇到了这个代码片段,不明白. 它递归检查 C++ 字符串中是否存在大写字符