痛苦!!!翻遍N多资料无结果,各位大侠,如果知道一个进程的ID,如何判断这个进程是否正常运行或无响应!!(100分)

  • 主题发起人 主题发起人 rocky_yan
  • 开始时间 开始时间
R

rocky_yan

Unregistered / Unconfirmed
GUEST, unregistred user!
我查遍了我所能找到的所有和进程状态有关的资料,谁能帮我
 
可以再加分
 
先用Findwindow找你要装的程序的窗口,再用
SendMessageTimeout()发送一个消息,如果返回是TRUE,就说明进程没有死掉
反之就是死掉了,
 
可是我只有ProcessID,并不知道窗口类名,而且同样的进程可能有多个同时加载
 
To rocky_yan
我帮你找找看,有没有通过ProcessID知道主窗口句柄的,
 
我已经解决这个问题,通过ProcessID来找它的主窗口太麻烦,需要遍历窗口再比对,我
已经选择其他办法
请管理员收回分数
 
//请管理员收回分数
别想了,当买个教训。
 
To rocky_yan:
你用什么办法?
 
是啊,解决了就给大家分享一下嘛。
 
不是的,我是走了个捷径,修改了自己的问题,我原意是做一个服务器的监控程序,由于
有多种类型的服务器存在,用CreateProcess启动这些服务器后得到ProcessID,
当初想用一个程序来监视这些不同的服务器,监视程序只能知道ProcessID,
后来我干脆把所有的服务器改成一样的程序,窗口类名一样,监视自然就没问题了
 
你的思路是正确的,实际上监控进程一般都是这样做的,通过某一个进程创建进程空间并执行
其它进程的方法,将其它进程变为自己的子进程,从而可以获得其进程ID,获得了进程ID以后
就可以对该进程做各种操作了,比如杀除进程,判断进程终止状态等。在UNIX编程中,这样的
应用是非常普遍的。
 
后退
顶部