如何检测在cocoa中何时按下电源键?

如何检测在cocoa中何时按下电源键?,cocoa,xcode,Cocoa,Xcode,我试图找出如何检测用户何时按下键盘上的电源键 我正在开发一个kiosk应用程序,我想在用户想要通过按住电源键强制关闭计算机时运行一个例程 先谢谢你 你没有 发件人: 注意:系统陷阱的较低级别 并在早期处理一些事件 事件流。这些事件永远不会发生 路由到Cocoa应用程序。这些 事件由保留键生成 或组合键,如电源 和媒体弹出键 您可以使用applications shouldterminate,让应用程序执行某些操作和/或防止关机,文档页面对此有所介绍。不过,这与仅仅响应关键事件并不完全相同 您还可

我试图找出如何检测用户何时按下键盘上的电源键

我正在开发一个kiosk应用程序,我想在用户想要通过按住电源键强制关闭计算机时运行一个例程

先谢谢你

你没有

发件人:

注意:系统陷阱的较低级别 并在早期处理一些事件 事件流。这些事件永远不会发生 路由到Cocoa应用程序。这些 事件由保留键生成 或组合键,如电源 和媒体弹出键

您可以使用
applications shouldterminate
,让应用程序执行某些操作和/或防止关机,文档页面对此有所介绍。不过,这与仅仅响应关键事件并不完全相同


您还可以使用该标志仅禁用注销和关机。

当用户按住电源键时,不会调用任何方法。这是直接在硬件中处理的,甚至不需要路由到操作系统,更不用说你的应用程序了——这相当于拔掉电源线

您最好创建一个“干净关机”用户首选项或临时文件,作为正常关机过程的一部分,您的应用程序将删除该文件。当你的应用程序启动时,它可以检查上一次运行是否正常关闭,或者地毯是否被拉出


哦,因为这是一个信息亭,所以不要让用户从一开始就物理访问电源开关。有时候最简单的解决方案是最好的

所有这些都不会通过按住电源按钮来禁用关机。这就像拔掉电源线一样,软件中没有任何方法可以阻止它。这一点很好。我一定错过了问题的“等待”部分。谢谢各位。看来我没办法阻止硬件关闭。这有点道理,我想如果系统挂起不好,这是最后的办法。谢谢,我一直在考虑这个问题。虽然主要目的是启动警报,以阻止用户关闭计算机。