Как убить поток чужого процесса? - C#
Формулировка задачи:
Всем привет!
Через System.Diagnostics.GetProcesses() получаю список процессов. Свойство Threads каждого процесса содержит список потоков. Один из этих потоков требуется завершить. Как это сделать?
Решение задачи: «Как убить поток чужого процесса?»
textual
Листинг программы
[DllImport("kernel32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool TerminateThread(IntPtr handle, uint exitCode); [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr OpenThread(uint access, bool inherit, int id); const uint THREAD_TERMINATE = 0x1; // ... System.Diagnostics.ProcessThread thread; var th = OpenThread(THREAD_TERMINATE, false, thread.Id); if (th == IntPtr.Zero) throw new Win32Exception(Marshal.GetLastWin32Error()); TerminateThread(th, 0);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д