如何拦截Windows中的物理电源button?

是否有任何方法来拦截物理电源button的事件,以便对此事件作出反应? 即:

Push button -> My program catches the event -> My program performs action. 

我的目标是编写一个C#程序/服务来监听电源button事件,然后打开“问我该怎么做”的closures对话框(就像在Windows XP的时代那样)。

Solutions Collecting From Web of "如何拦截Windows中的物理电源button?"

你可以使用SystemEvents.SessionEnding事件

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

我可以在理论上向您解释:按钮(这是一个与大多数系统上的关机相关联的按钮)在“电源选项”下有一个选项,您可以在此处指定按下电源按钮时要执行的操作。

这就是你正在寻找的那个ACTION事件,这个事件通过那个窗口绑定到按钮上,然后实例化关闭事件。 有一些解析和监视窗口变量和调用的程序,你必须使用其中的一个来找出它并拦截/覆盖它。