C++ TerminateProcess функция

Я искал примеры для функции Win32 API C++TerminateProcess () но не смог найти.

Я не так хорошо знаком с Win32 API в целом, и поэтому я хотел спросить, Может ли кто-то здесь, кто лучше меня, показать мне пример для,

  • получение дескриптора процесса его PID, необходимого для его завершения, а затем вызовите TerminateProcess с ним.

Если вы не знакомы с C++ на C# эквивалент тоже поможет.

1 ответов


чтобы ответить на исходный вопрос, чтобы получить дескриптор процесса по его 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 не позволяет своей цели очистить и выйти в допустимом состоянии. Подумайте дважды, прежде чем использовать его.