有个程序在某些情况下偶然出现卡死窗体不响应,VB怎样检测这个程序是否卡死了并且报警

解决方案 »

  1.   

    在开发环境,按ctrl-break 进入调试状态,看代码是否在死循环之中
      

  2.   

    Private Declare Function IsHungAppWindow Lib "user32.dll" ( _
            ByVal hWnd As Long) As Long
    参数只有一个,目标窗口的句柄.返回值测试了一下,当句柄无效或句柄所标识的窗体的消息循环是正常的,则返回0,否则返回1,代表挂了
      

  3.   

    另外的办法,是使用SendMessageTimeout+WM_NULL来看是否返回如果是超时,则可以判定目标窗口无响应了.