如题,偶要编写一个多层连接程序,希望客户端在没有响应的时候,可以杀掉进程。希望各位大虾能够帮忙。

解决方案 »

  1.   

    findwindow找到程序的主窗体,然后用sendmessagetimeout来确定程序是否无响应,如果返回为false,则说明程序无响应
      

  2.   

    进程(process)本来就没有生死一说,它只不过是个容器,当它的主线程(thread)结束时windows才会把它释放掉。这种程序写不出来的,你怎知进程是死是活?能控制的话,ms的taskmgr.exe早有这个功能了,唯一有用的大概就只有个GetExitCodeProcess,看看是否STILL_ACTIVE?
      

  3.   

    进程(process)本来就是没有一说,但它有死锁一说。在我要关注的程序中就存在这样的问题。在网络传输数据时,因为网络质量的原因有丢包的现象。造成程序一直处于等待状态,这在win98下尤为明显。我还想问问sendmessagetimeout是依据什么来程序是否无响应的?谢谢解答。