关闭时防止Mac笔记本电脑睡觉?

时间:2011-04-05 15:32:10

标签: c macos

我正在用C语言编写一个程序,并希望它有一个选项,即使盖子关闭也能保持mac笔记本电脑处于唤醒状态,因此进程可以继续。关于这个主题的信息似乎很少,所以我真的不知道从哪里开始。如果有人知道如何完成这个或我可以找到更多信息,我会非常感激(即我需要使用BIOS,还是内置函数?)。另外,如果用另一种语言更容易做到这一点很好,因为我并没有固执地使用C语言。

4 个答案:

答案 0 :(得分:3)

您需要为此编写内核扩展。默认情况下,操作系统不支持它,因为笔记本电脑的设计不适合在关闭盖子和启用内部显示的情况下自行冷却。 SleepLess是一个10美元的实用程序,它也能做你想做的事。如果你扭曲显示器或其他东西,这是你自己的错。 : - 。)

如果你想自己写一些东西,LidSleep.kext看起来是一个好的开始(它正好相反,即睡在盖子上),并附带源代码。

(通过使用外部输入设备关闭屏幕,唤醒一些Mac笔记本电脑possible and supported。)

答案 1 :(得分:2)

您可以使用I / O Kit框架执行此操作,请参阅QA1340清单2,了解使用IOPMAssertionCreateWithName的示例代码,以暂时阻止睡眠。

答案 2 :(得分:0)

上面列出的LidSleep.kext链接不起作用,所以我可以告知NoSleep的作者已经在这里提供了源代码,所以你可以自己看看它是如何完成的:

https://code.google.com/p/macosx-nosleep-extension/

答案 3 :(得分:-1)

如果您的笔记本电脑是最新型号,则无需添加任何内容。如果您正在运行Lion,它只是起作用。如果您正在运行较旧的操作系统,则必须通过从外部键盘或鼠标发送击键或鼠标单击来唤醒笔记本电脑。见http://support.apple.com/kb/ht3131