逍遥公子 发表于 2013-6-7 16:30:19

VB细节之判断窗口是否未响应 判断未响应有两种方法

1、给程序发消息,得到回应则说明有响应
Cjb = FindWindow(vbNullString, 要检测进程窗体的标题名)
Qqq = SendMessageTimeout(Cjb, WM_NULL, 0, 0, SMTO_ABORTIFHUNG And SMTO_BLOCK, 3000, lngResult)
If Qqq = 0 Then
       进程不正常
else
       进程正常
end if


2、用IsHungAppWindow,推荐使用,不会有第一种收不到消息而卡死的缺陷。
Private Declare Function IsHungAppWindow Lib "user32.dll" ( ByVal hWnd As Long) As Long
Private Sub Form_Load()
    If IsHungAppWindow(窗口句柄) = 0 Then
      MsgBox "进程有响应"
    End If
End Sub
页: [1]
查看完整版本: VB细节之判断窗口是否未响应 判断未响应有两种方法