怎么确定一个程序没有响应(即使它在后台运行,没有当前窗口).

bqt 2002-12-27 12:09:26
SendMessageTimeOut()和IsHungWindow都是判断窗体有无响应的好方法,
但是怎样判断托盘程序等后台进程的运行情况呢?
(我想这个问题没有人知道了!!!!!)
解决以后,100分相赠,不够可以再加。
...全文
112 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bqt 2003-01-08
  • 打赏
  • 举报
回复
jie!
bqt 2002-12-31
  • 打赏
  • 举报
回复
其实还有个方法是OpenProcess,得到进程处于系统kernel的时间。但是对大多数进程不管用!!!大家看看任务管理其中的进程-〉cpu时间就知道了,很多进程cpu时间是零。
NowCan 2002-12-28
  • 打赏
  • 举报
回复
这个我知道,SendMessageTimeout是比较标准的方法。我只是想知道,为什么隐藏了就不能操作了?
Rigel 2002-12-27
  • 打赏
  • 举报
回复
枚举进程吧,看他还在不在
NowCan 2002-12-27
  • 打赏
  • 举报
回复
托盘程序也有窗口啊,只不过是隐藏了而已。
NowCan 2002-12-27
  • 打赏
  • 举报
回复
确实不知道。
Windows自己能知道吗?
jink 2002-12-27
  • 打赏
  • 举报
回复
任务管理器是依照窗口是否在规定时间(好象是5秒左右)能处理下一个消息来判断有无响应

你可以试,自己写个程序,在窗口的一个事件处理中Sleep个10秒钟,看看任务管理器怎么显示
NowCan 2002-12-27
  • 打赏
  • 举报
回复
为什么隐藏了就不能操作了?
jink 2002-12-27
  • 打赏
  • 举报
回复
既然没有窗口,又何来响应之说?

除非有用到进程之间的通信,这样的话,自己写代码的时候就可以注意了.
bqt 2002-12-27
  • 打赏
  • 举报
回复
还有人知道吗?做过进程监控的出来指教一下!!!
bqt 2002-12-27
  • 打赏
  • 举报
回复
<< 确实不知道。Windows自己能知道吗?
:windows自己肯定知道吧!即使是后台的。就是不知道他是怎么知道的?是不是微软未公开的api啊?

<< 托盘程序也有窗口啊,只不过是隐藏了而已。
:是啊!隐藏了就不能操作了。

<< 枚举进程吧,看他还在不在
:这样只能判断它是否存在,不能判断是否已经挂起(如果存在的话)

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧