Переопределение или изменение функции ExitProcess в C ++ - PullRequest
0 голосов
/ 16 ноября 2018

Можно ли как-нибудь переопределить или изменить функцию ExitProcess в C ++, чтобы при вызове этой функции она переходила в мой код? Я думал о том, чтобы взять адрес функции и поместить туда свою функцию, но я не могу понять, как это сделать? Любое предложение, как я могу это сделать?

1 Ответ

0 голосов
/ 16 ноября 2018

У вас есть std :: atexit .Я только что попробовал это, и это работает, по крайней мере, для нормального завершения программы:

void at_exit_handler() {
    MessageBox(NULL, L"Howdy", L"Howdy", MB_OK);
}

// register the exit function at program start:
std::atexit(at_exit_handler);

Если вы хотите перехватить вызов ExitProcess и предотвратить нормальную процедуру выхода, вам, возможно, нужно взглянуть на ОтладкаЗапись функции крюка .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...