上次 说到当使用TerminateProcess()函数并将参数uExitCode设置为非1时去结束Explorer.EXE进程,Windows会自动唤醒Explorer.EXE进程。今天将继续讨论这个问题。 上次讨论到系统启动的时候,Explorer.EXE进程是由UserInit.EXE进程启动的,然后UserInit.EXE进程退出(关于这一点可以参考《Windows Internals, 4th》一书关于启动过程上的介绍),但是对于当我们使用TerminateProcess()函数并将参数uExitCode设置为非1时去结束Explorer.EXE进程这种情况,被唤醒的Explorer.EXE进程的父进程并不是UserInit.EXE,跟踪发现这个时候UserInit.EXE进程并没有出现,那么是谁唤醒了Explorer.EXE进程呢?为什么会唤醒这个进程呢?