不幸的是,当您收听 WM_QUERYENDSESSION 时,如果用户请求重新启动或关闭,您不会获得信息。这是一个非常糟糕的设计,但它就是 Windows 的方式,所以我正在考虑将调用挂钩到 NTShutdownSystem,它获取一个参数,告诉系统执行重新启动或关闭。
问题是:如何在 C# 中实际实现这一点?我想获得某种挂钩,我可以使用它来确定传递给 NTShutdownSystem 的参数,然后保存该信息。之后,我想按照用户想要的方式调用“真正的”NTShutdownSystem。
你有任何示例代码来说明这一点吗?