2011-04-05 102 views
6

我正在用C編寫一個程序,並希望它有一個選項,即使蓋子關閉,也能保持mac筆記本電腦清醒,因此進程可以繼續。似乎有關於這個主題的信息很少,所以我真的不知道從哪裏開始。如果有人知道如何做到這一點,或者我可以找到更多的信息,我真的很感激(即,我需要與BIOS一起工作還是內置函數?)。另外,如果用另一種語言做起來更容易,因爲我不會固執地使用C語言。防止Mac筆記本電腦在關閉時睡眠?

回答

3

你需要爲此編寫一個內核擴展。操作系統默認不支持它,因爲筆記本電腦的設計不適合在蓋子關閉並啓用內部顯示的情況下自行冷卻。 SleepLess是一個10美元的工具,可以做你想做的。如果你扭曲了顯示屏或其他東西,那是你自己的錯。 :-)。

如果你想自己寫點東西,LidSleep.kext看起來是一個很好的開始(它恰好相反,即睡在蓋子上)並附帶源代碼。

(這是possible and supported喚醒通過使用外部輸入設備關閉了屏幕部分Mac筆記本電腦。)

+0

順便說一句,應該有可能只防止空閒睡眠,而不會阻止顯示器的睡眠。 – Hasturkun 2011-04-05 23:05:09

+0

謝謝你們!來自LidSleep的源代碼非常有用。 – ORL 2011-04-05 23:11:12

2

您可以使用I/O Kit框架執行此操作,請參閱QA1340列出了使用IOPMAssertionCreateWithName的示例代碼2暫時防止睡眠。

+0

正如問答中所提到的那樣,您只能通過IOPM斷言來防止空閒睡眠,而不是強迫睡眠(如蓋子關閉)。 – 2011-04-05 18:50:29

+0

@尼古拉斯:啊,我好像錯過了那個筆記。 – Hasturkun 2011-04-05 23:00:49

-2

如果你的筆記本電腦是一個相當最近的模型,你不需要添加任何東西。如果你正在運行獅子,它只是工作。如果您運行的是較舊的操作系統,則必須通過向外部鍵盤或鼠標發送按鍵或鼠標單擊來喚醒筆記本電腦。見http://support.apple.com/kb/ht3131

+1

不可以,這不適用於外接鍵盤或鼠標。這樣,筆記本電腦關閉時,非交互式程序可以繼續運行。 – 2012-07-24 17:18:29