我正在使用信息亭式的应用程序,需要在按下电源按钮时控制PC的关闭/重新启动。多亏了此post,我才有90%的路程。
[当收到问题时,完全没有记录:
[DllImport("user32.dll", SetLastError = true)]
static extern int CancelShutdown();
从WndProc返回并弹出我自己的消息框,要求用户关闭/重新启动或取消,并响应他们的操作。
如果我从任务栏中执行启动/关闭操作,那么一切都很好(我可以根据需要尽快发布论文)。第一次按下电源按钮时,一切都正常。在随后按下电源按钮时,虽然我收到WM_QUERYENDSESSION消息之前看到一分钟左右的延迟,但仍会出现。
是否存在有关Windows多久发布一次ACPI事件的设置或注册表项?我知道这不是硬件,因为在Linux下,同一台计算机将以我可以按的最快速度触发ACPI事件。
谢谢。
我正在使用信息亭式的应用程序,需要在按下电源按钮时控制PC的关闭/重新启动。多亏了这篇文章,我已经完成了90%的工作。在控制中...
[在工作中帮了忙,我能够直接将这个问题带到Microsoft支持。在我的第三位支持工程师上,我基本上被告知在应用程序级别
我认为除非您与您的硬件制造商交谈或对启动按钮进行硬接线,以免它不会将信号发送到处理此问题的硬件,否则是不可能的。您只能延迟它,但即使这样也不能给您100%的保证。