如何确定之前的 Windows 引导是否为安全模式引导?

How to determine if previous Windows boot was a Safe Mode boot?

我有一些监控软件,用户试图通过在安全模式下启动 Windows 来绕过这些软件。我无法阻止这一点,因为我以编程方式对启动菜单所做的任何更改都可以手动撤消,但了解之前的启动是否处于安全模式会很有用,因为这是篡改的潜在证据。

我知道我可以使用 GetSystemMetrics() 来查明当前的启动状态,但我想知道是否有任何前一次启动的记录。

是的,你可以通过 eventvwr.exe 来判断。在 Windows Logs\System 中,将有来自源 "Kernel-General"

的 ID 为 12 的事件

此事件的描述是:

"The operating system started at system time <timestamp>"

在该活动的详细信息中,该活动带有 "BootMode" 标记。值为 0 表示正常启动,值为 1 表示安全模式。