Cocoa获得电源适配器状态

时间:2010-12-29 07:31:37

标签: cocoa macos-carbon iokit

我目前正在开发一个备份应用程序,我收到了很多关于最近要添加的功能的请求,其中最重要的一个是添加一个复选框,如“Time Up on Battery Power”,如Time Machine具有

那么,有没有办法可以获得电源适配器的状态(插入和插入)?我假设如果有一台桌面Mac,比如iMac等,我可能会一直都是插件。因此,我需要检测计算机是否是便携式的方法。

我认为IOKit将是一个可以查看的库,但我根本无法在文档中找到任何内容,但在该框架上几乎不存在。那么,既然它是一个较旧的Carbon Framework,有没有办法注册一个在电源状态发生变化时被调用的回调?这样我就可以正确实现这个复选框的功能。

我很感激帮助澄清这个主题。

1 个答案:

答案 0 :(得分:1)

IOPowerSources.h具有您需要的功能。从IOPSNotificationCreateRunLoopSource()开始创建一个运行循环源,并在回调中询问以IOPSCopyPowerSourcesInfo()开头的电源信息并逐步降低。可能有更好的例子,但this file似乎是对它如何完成的合理证明;足以让你入门。