TerminateProcess實(shí)現(xiàn)關(guān)閉任意程序

小云
94
2023-09-28 09:46:37
欄目: 編程語言

TerminateProcess函數(shù)是Windows API中的一個(gè)函數(shù),用于終止一個(gè)指定的進(jìn)程。以下是一個(gè)示例代碼,用于通過調(diào)用TerminateProcess函數(shù)來關(guān)閉任意程序:

#include <Windows.h>
#include <iostream>
int main()
{
DWORD processId;
// 獲取目標(biāo)程序的進(jìn)程ID,例如Notepad程序的進(jìn)程ID
std::cout << "請(qǐng)輸入目標(biāo)程序的進(jìn)程ID:";
std::cin >> processId;
// 打開目標(biāo)進(jìn)程
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, processId);
if (hProcess == NULL)
{
std::cout << "打開進(jìn)程失?。″e(cuò)誤代碼:" << GetLastError() << std::endl;
return 1;
}
// 終止目標(biāo)進(jìn)程
if (!TerminateProcess(hProcess, 0))
{
std::cout << "終止進(jìn)程失?。″e(cuò)誤代碼:" << GetLastError() << std::endl;
CloseHandle(hProcess);
return 1;
}
// 關(guān)閉句柄
CloseHandle(hProcess);
std::cout << "進(jìn)程已成功終止!" << std::endl;
return 0;
}

代碼中首先使用OpenProcess函數(shù)打開目標(biāo)進(jìn)程,參數(shù)PROCESS_TERMINATE用于指定訪問權(quán)限。然后使用TerminateProcess函數(shù)終止目標(biāo)進(jìn)程,參數(shù)0表示退出代碼。最后使用CloseHandle函數(shù)關(guān)閉句柄。

0