Win32 API C ++関数TerminateProcess()の例を検索してきましたが、見つかりませんでした。
私は一般的にWin32APIに精通していないので、ここで私よりも優れている誰かが私に例を示すことができるかどうか尋ねたいと思いました。
- プロセスハンドルを終了するために必要なPIDでプロセスハンドルを取得し、それを使用してTerminateProcessを呼び出します。
C ++に慣れていない場合は、C#に相当するものも役立ちます。
Win32 API C ++関数TerminateProcess()の例を検索してきましたが、見つかりませんでした。
私は一般的にWin32APIに精通していないので、ここで私よりも優れている誰かが私に例を示すことができるかどうか尋ねたいと思いました。
C ++に慣れていない場合は、C#に相当するものも役立ちます。
元の質問に答えるには、PID でプロセス ハンドルを取得して TerminateProcess を呼び出すには、次のようなコードが必要です。
BOOL TerminateProcessEx(DWORD dwProcessId, UINT uExitCode)
{
DWORD dwDesiredAccess = PROCESS_TERMINATE;
BOOL bInheritHandle = FALSE;
HANDLE hProcess = OpenProcess(dwDesiredAccess, bInheritHandle, dwProcessId);
if (hProcess == NULL)
return FALSE;
BOOL result = TerminateProcess(hProcess, uExitCode);
CloseHandle(hProcess);
return result;
}
TerminateProcess は、ターゲットがクリーンアップして有効な状態で終了することを許可しないことに注意してください。使用する前によく考えてください。