重写或更改C ++中的ExitProcess函数

时间:2018-11-15 21:45:03

标签: c++ function c++11 override

有什么方法可以覆盖或更改C ++中的ExitProcess函数,当我调用该函数时它将进入我的代码? 我考虑过要使用函数的地址并将函数放在其中,但是我不知道该怎么做? 有什么建议我该怎么做?

1 个答案:

答案 0 :(得分:0)

您有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调用并阻止正常的退出过程,则可能需要查看Debug Hook Function Writing