#include <iostream>#include <windows.h>#include <TlHelp32.h>int main(){ // 1. 使用函数创建线程快照,此时参数二没有意义,无论填写什么,遍历到的都是所有线程 HANDLE Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); // 2. 创建一个结构体用于保存遍历到的所有线程信息 THREADENTRY32 ThreadInfo{ sizeof(THREADENTRY32) }; // 3. 尝试从快照中获取到保存的第一个线程的信息 if (Thread32First(Snapshot, &ThreadInfo)) { do { // 4. 由于遍历到的是所有的线程,所以我们需要判断 if (ThreadInfo.th32OwnerProcessID == 12560) { // 打开目标进程的每一个线程,结束这个线程 HANDLE Thread = OpenThread(THREAD_TERMINATE, FALSE, ThreadInfo.th32ThreadID); if (Thread) { TerminateThread(Thread, -1); CloseHandle(Thread); } } } while (Thread32Next(Snapshot, &ThreadInfo)); } return 0;}