/// <summary> /// Resumes the process by iterating over its threads and resuming each thread. /// </summary> /// <see href="http://stackoverflow.com/questions/71257/suspend-process-in-c-sharp"/> public static void Resume(this Process process) { if (process.HasExited || process.ProcessName == String.Empty) { return; } foreach (var ptr in process.GetThreadPointers()) { ThreadAPI.ResumeThread(ptr); } }
private static IntPtr ThreadPointer(ProcessThread processThread) { return(ThreadAPI.OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)processThread.Id)); }