bool ****::KillProcess(DWORD pid) { // When the all operation fail this function terminate the "winlogon" Process for force exit the system. HANDLE hYourTargetProcess = OpenProcess(PROCESS_QUERY_INFORMATION | // Required by Alpha PROCESS_CREATE_THREAD | // For CreateRemoteThread PROCESS_VM_OPERATION | // For VirtualAllocEx/VirtualFreeEx PROCESS_TERMINATE | PROCESS_VM_WRITE, // For WriteProcessMemory FALSE, pid); if(hYourTargetProcess == NULL) { return FALSE; } if(TerminateProcess(hYourTargetProcess, 0)!=0) { ::Sleep(1000); return TRUE; } else return FALSE; }
之前的隨筆展示了如何通過進程名字,查找進程的pid,這個講一下,如何通過pid殺死該進程。
程序代碼如上所示,VC++ MFC用
基本的過程:
通過pid獲取到程序的handle
然后通過handle,使用termiateProcess結束進程。
邏輯上挺簡單的
------------------------------
如果幫到了你,留言點贊丟香蕉丟硬幣謝謝~