Private Declare Function IsHungAppWindow Lib "user32.dll" ( ByVal hWnd As Long) As Long
Hwnd = Plugin.Window.Find(0, "无")
TracePrint Hwnd
Do
If IsHungAppWindow(Hwnd)=0 Then
i=0'窗口正常,次数归零
TracePrint "窗口正常"
Else
i=i+1
If i = 60 Then'如果窗口未响应60次,就弹出窗口
MsgBox "窗口未响应"
End If
End If
Delay 1000
Loop
思路解析:以上方法通过调用系统win32的窗口通用控制类API:IsHungAppWindow,用来检测窗口是否为未响应。
通过要判断的窗口的句柄,进行IsHungAppWindow检测。若检测到窗口响应,则说明窗口正常响应,返回消息“窗口正常”。若检测到窗口无响应,则返回消息“窗口未响应”。
为什么不检测鼠标上面的有圈圈的鼠标特征码来判断,是否卡顿,无反应,等等