c/c++ 如何测试(判断)某一进程是否在运行??急求!!!

最好能帮忙编个函数,方便调用。提前感谢!!!大家能不能具体点,最好贴出代码!... 最好能帮忙编个函数,方便调用。

提前感谢!!!
大家能不能具体点,
最好贴出代码!
展开
 我来答
百度网友e9042513a
2009-01-26 · TA获得超过6984个赞
知道大有可为答主
回答量:2388
采纳率:0%
帮助的人:3469万
展开全部
#include "tlhelp32.h"

int GetProcessCount(const TCHAR* szExeName)
{
TCHAR sztarget[MAX_PATH];
lstrcpy(sztarget, szExeName);
CharLowerBuff(sztarget, MAX_PATH);

int count = 0;
PROCESSENTRY32 my;
HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (((int)l) != -1)
{
my.dwSize = sizeof(my);
if (Process32First(l, &my))
{
do
{
CharLowerBuff(my.szExeFile, MAX_PATH);
if (lstrcmp(sztarget, my.szExeFile) == 0)
{
count++;
}
}while (Process32Next(l, &my));
}
CloseHandle(l);
}

return count;
}

输入进程名: szExeName
返回值: 进程运行数, 0 没运行

vc 6.0
花式码农
2009-01-26 · TA获得超过1.7万个赞
知道大有可为答主
回答量:4894
采纳率:0%
帮助的人:4691万
展开全部
有很多方法,比较快的方法是你要知道该进程是否有一个命名的内核对象,如果有的话你就可以通过查找这个内核对象是否存在来判断。

效率比较低的方法就是枚举系统进程。

根据自己的具体情况想象撒。枚举系统进程效率确实很低,呵呵。

还有就是这个"某一进程”你了解吗?是你自己的还是别人的?呵呵。。
要不然就只有枚举啦。。EnumProcess

听说FindWindow可以,不知道是不是真的,我没试过哟。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式