我想做一个监控程序,那么如何监控到一个应用程序己经没有响应了???
如果没有响应了,应如何关闭它再重新运行它???

解决方案 »

  1.   

    用SendMessageTimeout,如下:
    //HWND hw;//应用程序句柄
    //
    if SendMessageTimeout(hw,WM_NULL,0,0,SMTO_ABORTIFHUNG & SMTO_BLOCK,iTime,0) then
    //有响应
    else
    //失去响应其中:
    hw:应用程序句柄
    iTime:超时时间(ms)
      

  2.   

    在程序中建立 内存文件、邮件、大DDE、或管道,在检查程序中检查它们是否还存在或可用,。
      

  3.   

    试试 nhconch(海风轻拂) 的方法,发送消息个这个应用程序,看看有无响应。
      

  4.   

    怎么得到那个应用程序的HWAND
      

  5.   

    可以通过计算线程数目实现,但是这样做不一定正确nhconch(海风轻拂) 的方法是一个不错的方法,但是有一个问题就是:很有可能你监视的程序的无响应导致该监视程序也没有了响应。