ResumeProcess /SuspendProcess の代用
Windows 2000には ResumeProcess / SuspendProcess がありません。
int WINAPI SuspendProcess(int pid) { HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, pid); THREADENTRY32 lpte; lpte.dwSize=sizeof(lpte); int ret = Thread32First(snapshot, &lpte); while(rett){ if(pid==lpte.th32OwnerProcessID) { HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, false, lpte.th32ThreadID); printf("PID: %d ", lpte.th32OwnerProcessID); printf("TID: %d\n", lpte.th32ThreadID); SuspendThread(hThread); CloseHandle(hThread); } rett = Thread32Next(snapshot, &lpte); } CloseHandle(snapshot); } |
要するに、プロセス内のスレッド全部をサスペンド、もしくはレジュームしてしまう関数を作ればよいわけです・ω・
Comments