任意のプログラムを終了する仕組みの実装、TerminateProcess

TerminateProcess関数はWindows APIの関数で、指定されたプロセスの終了に使用できます。以下は、TerminateProcess関数を呼び出して任意のプログラムを終了させるサンプルコードです。

#include <Windows.h>
#include <iostream>
int main()
{
DWORD processId;
// 获取目标程序的进程ID,例如Notepad程序的进程ID
std::cout << "请输入目标程序的进程ID:";
std::cin >> processId;
// 打开目标进程
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, processId);
if (hProcess == NULL)
{
std::cout << "打开进程失败!错误代码:" << GetLastError() << std::endl;
return 1;
}
// 终止目标进程
if (!TerminateProcess(hProcess, 0))
{
std::cout << "终止进程失败!错误代码:" << GetLastError() << std::endl;
CloseHandle(hProcess);
return 1;
}
// 关闭句柄
CloseHandle(hProcess);
std::cout << "进程已成功终止!" << std::endl;
return 0;
}

まずOpenProcess関数で対象プロセスを開き、PROCESS_TERMINATEを指定したアクセス権を設定する。次にTerminateProcess関数で対象プロセスを終了させ、0を終了コードとして指定する。最後にCloseHandle関数でハンドルを閉じる。

コメントを残す 0

Your email address will not be published. Required fields are marked *