您可以不正确地使用SuspendThread或 Wow64SuspendThread 来确定它是否被挂起,然后使用ResumeThread来恢复情况。
SuspendThread return: "如果函数成功,则返回值为线程之前的挂起计数;"
声明:
    [Flags] public enum ThreadAccess : int {
        TERMINATE = (0x0001),
        SUSPEND_RESUME = (0x0002),
        GET_CONTEXT = (0x0008),
        SET_CONTEXT = (0x0010),
        SET_INFORMATION = (0x0020),
        QUERY_INFORMATION = (0x0040),
        SET_THREAD_TOKEN = (0x0080),
        IMPERSONATE = (0x0100),
        DIRECT_IMPERSONATION = (0x0200)}
    [DllImport("kernel32.dll")]
        static extern IntPtr OpenThread(
        ThreadAccess dwDesiredAccess,
        bool bInheritHandle,
        uint dwThreadId);
    [DllImport("kernel32.dll")]
        static extern uint SuspendThread(IntPtr hThread);
    [DllImport("kernel32.dll")]
        static extern int ResumeThread(IntPtr hThread);
    [DllImport("kernel32", CharSet = CharSet.Auto, SetLastError = true)] 
        static extern bool CloseHandle(IntPtr handle);
(Wow64SuspendThread 链接隐藏,因为我需要 10 个声誉来放置 2 个链接 = ht.tps://msdn.microsoft.com/it-it/library/windows/desktop/ms687400(v=vs.85).aspx)