Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongPrivate Const PROCESS_ALL_ACCESS = &H1F0FFFPrivate Declare Function WaitForInputIdle Lib "user32" (ByVal hProcess As Long, ByVal dwMilliseconds As Long) As LongPrivate Const WAIT_TIMEOUT = 258Function IsTargetNotResponding(ByVal lProcessID As Long, Optional ByVal lTimeoutValue As Long = 1000) As Boolean
    Dim hProcess As Long
    hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, lProcessID)
    IsTargetNotResponding = (WaitForInputIdle(hProcess, lTimeoutValue) = WAIT_TIMEOUT)
    CloseHandle hProcess
End Function
Private Sub Form_Load()
    Dim lTargetProcessID As Long
    lTargetProcessID = &H148
    '等待1000毫秒
    Debug.Print IsTargetNotResponding(lTargetProcessID, 1000)
End SublTargetProcessID = &H148我把 &H148改成了对应的程序PID,比如explorer的是2028,然后我用工具挂起了之后依然是false,换成别的进程也一样,这是为什么呢?