c++ 怎么样获取windows指定程序是否正在运行?

 我来答
绿衣人敲门
推荐于2016-06-14 · 知道合伙人软件行家
绿衣人敲门
知道合伙人软件行家
采纳数:18765 获赞数:63765
毕业于西北大学计算机网络技术专业,现在在西安电力学院进行网络推广维护工作!

向TA提问 私信TA
展开全部
void _FindProcess(const CString& strProcessName,CArray<DWORD,DWORD>& aPid)
{
aPid.RemoveAll();
DWORD dwPid = 0; //用于保存Id
CString strExeFile;
HANDLE hHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //为当前系统进程建立快照
DWORD dwId = ::GetCurrentProcessId(); //当前进程的Id
if (INVALID_HANDLE_VALUE !=hHandle) //如果快照建立成功
{
PROCESSENTRY32 stEntry;
stEntry.dwSize = sizeof(PROCESSENTRY32);
if(Process32First(hHandle, &stEntry)) //在快照中查找一个进程,stEntry返回进程相关属性和信息
{
do
{
strExeFile.Format("%s",stEntry.szExeFile);
if(strProcessName.CompareNoCase(strExeFile)==0) //比较该进程名称是否与strProcessName相符
{
if(dwId != stEntry.th32ProcessID) //如果相等,且该进程的Id与当前进程不相等,则找到strProcessName对应的进程。
{
aPid.Add(stEntry.th32ProcessID);
}
}
}while(Process32Next(hHandle, &stEntry));//再快照中查找下一个进程。
}
CloseHandle(hHandle); //释放快照句柄。
}
return ;
}
上面是查找进程名.你稍修改一下就可以用了.满意请采纳
帐号已注销
2014-10-21 · TA获得超过653个赞
知道小有建树答主
回答量:1315
采纳率:0%
帮助的人:891万
展开全部
试试findwindow函数看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式