禁用 ACPI 电源按钮
是否有任何简单的方法可以使用 Visual C++ 中的 Windows API 暂时禁用处理 ACPI 电源按钮事件(关机),以便用户无法使用电源按钮关闭计算机?
is there any simple way to disable processing ACPI power button events (Shutdown) temporarily using the Windows API in Visual C++, so the user isn't able to shut down the computer using the power button?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
简而言之,不。
稍微长一点的解释是,ACPI 规范有一个声明(解释一下)“按住电源按钮 4 秒必须关闭电源”。
In short, No.
A slightly longer explanation states that the ACPI spec has a statement (to paraphrase) "pressing and holding the power button for 4 seconds must turn the power off".
您可能必须覆盖 DSDT 命名空间中嵌入式控制器的 _qxx 方法,以抑制 BIOS 向操作系统 acpi 驱动程序发送通知(80),然后以编程方式关闭系统。 这就是触发关闭序列的原因。 每次启动时,ACPI 表都会缓存在注册表中,并且相同的注册表机制也支持覆盖。
you probably would have to override embedded controller's _qxx method in DSDT namespace to suppress the BIOS sending a notify(80) to the OS acpi driver, which then shuts down the system programatically. This is what triggers the shutdown sequence. ACPI tables are cached in the registry on every boot and the same registry mechanism also supports overriding.