如何拦截Windows中物理电源按钮的推送?

Xap*_*e13 6 .net c# windows power-management

是否有任何方法可以拦截按下物理电源按钮的事件以响应此事件?即:

Push button -> My program catches the event -> My program performs action.
Run Code Online (Sandbox Code Playgroud)

我的目标是编写一个C#程序/服务,它将监听电源按钮事件,然后打开"询问我该做什么"关闭对话框(就像它在Windows XP时代所做的那样).

Alo*_*los 0

您可以使用 SystemEvents.SessionEnding 事件

但是我不确定如果按下电源按钮这是否会起作用,当用户尝试注销或关闭系统时会发生此事件。