社区
进程/线程/DLL
帖子详情
怎样监控一个应用程序的进程是否结束
liuyunda
2004-04-12 08:44:45
各位高手你们好!
请问怎样监控一个应用程序的进程是否结束?我现在在我的主程序里调用ShellExecute方法启动了一个应用程序,我想在我的主程序里监控这个应用程序是否退出,我应该怎么办?
各位大虾请多多指教! 谢谢
...全文
162
9
打赏
收藏
怎样监控一个应用程序的进程是否结束
各位高手你们好! 请问怎样监控一个应用程序的进程是否结束?我现在在我的主程序里调用ShellExecute方法启动了一个应用程序,我想在我的主程序里监控这个应用程序是否退出,我应该怎么办? 各位大虾请多多指教! 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jessenee
2004-04-12
打赏
举报
回复
GetExitCodeProcess我用过,刚开始的时候可以,可是后来我作了点改动不知道为什么不行了,而且我写的程序需要考虑以前此程序是否已经有进程存在了,所以我就改用EnumProcess了
Pipi0714
2004-04-12
打赏
举报
回复
当然多线程不属用定时器很简单的
superS
2004-04-12
打赏
举报
回复
WaitForSingleObject就可以了吧
Pipi0714
2004-04-12
打赏
举报
回复
你可以这样做:我已经测试成功了
在你的类里面定义一个全局的变量,HANDLE m_hProcess;
启动进程的时候:
PROCESS_INFORMATION piProcInfo;
STARTUPINFO siStartupInfo;
siStartupInfo.cb = sizeof(STARTUPINFO);
siStartupInfo.lpReserved = NULL;
siStartupInfo.lpDesktop = NULL;
siStartupInfo.lpTitle = NULL;
siStartupInfo.dwFlags = STARTF_USESHOWWINDOW;
siStartupInfo.wShowWindow = SW_SHOWNORMAL;
siStartupInfo.cbReserved2 = 0;
siStartupInfo.lpReserved2 = NULL;
if (CreateProcess(
NULL,
"C:\\winnt\\system32\\calc.exe",
NULL, NULL, FALSE,
NORMAL_PRIORITY_CLASS,
NULL,
NULL,
&siStartupInfo,
&piProcInfo))
{
m_hProcess = piProcInfo.hProcess;
}
判断它是否退出:
if(m_hProcess != NULL)
{
DWORD dwCode = 0;
BOOL bRst = ::GetExitCodeProcess(m_hProcess,&dwCode);
if(dwCode != 0)
{
m_hProcess = NULL;
}
//dwCode返回值表明该进程是否退出,0退出,259没有退出
}
注意程序退出的时候
if(m_hProcess != NULL)
{
CloseHandle(m_hProcess);
}
你可以写个线程或者用定时器即可监视。
ymbymb
2004-04-12
打赏
举报
回复
创建一个线程,然后在线程里
while(!FindWindow(NULL, title));
title是程序的标题,一旦程序结束, 该循环就会退出
自由的风
2004-04-12
打赏
举报
回复
学习
Pipi0714
2004-04-12
打赏
举报
回复
GetExitCodeProcess()函数试一试,因为shellexecute返回一个进程序的句柄用此函数可以判断它的状态。
Pipi0714
2004-04-12
打赏
举报
回复
假如你开启的应用程序时你自己编写而且在win2k就简单了。用线程监视他的退出。
在exe中创建一个事件,注意要加上名字
另一个程序打开该事件,创建多线程然后监视即可。
快乐鹦鹉
2004-04-12
打赏
举报
回复
关注。有用。
ProcessMonitor:
一个
Java
应用程序
,用于监视和记录
进程
的开始和停止时间
过程
监控
器监视和记录流程开始和停止时间的Java
应用程序
。 它以YYYY-MM-DD格式同时以CSV和txt格式写入状态。 CSV文件包含
应用程序
的开始时间,
进程
的开始时间和
结束
时间。 TXT文件在每次记录时都会保存该
进程
的状态...
VC下通过系统快照实现
进程
管理的方法
每
一个
应用程序
实例在运行起来后都会在当前系统下产生
一个
进程
,大多数
应用程序
均拥有可视界面,用户可以通过标题栏上的关闭按钮关闭程序。但是也有为数不少的在后台运行的程序是没有可视界面的,对于这类
应用程序
...
计算机怎样
结束
应用
进程
,
结束
进程
,详细教您电脑怎么
结束
进程
电脑使用久了,难免会遇到死机的状况,主要是运行程序太多导致的。...因为
应用程序
怎么
结束
,就晓得,但
进程
不会,有的程序偏偏就是不在
应用程序
里,而在
进程
里,What the fxxk !怎么
结束
电脑
进程
?...
监控
spark
应用程序
的方法
每
一个
Spark
应用程序
都会启动
一个
spark ui,默认端口是4040端口,用于展示对
应用程序
有用的信息。包括以下信息: 1),stages和tasks列表。 2),RDD大小的总概和内存使用。 3),运行环境信息。 4),运行的...
Linux下
进程
监控
脚本的实现(实现某一
进程
意外
结束
后自动重新启动)
当我们在进行Linux下程序开发或者服务部署时,
进程
会遇到某一程序
进程
异常消失,影响正常功能的实现,因此本文介绍一种
进程
监控
脚本的实现,实现某一
进程
在意外
结束
后可以自动重新启动,并且脚本可扩展性强,移植...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章