2010-07-23 5 views
11

मैं प्रोग्राम को नींद से सिस्टम जगा सकता हूं, क्या ऐसा करने का कोई तरीका है? http://developer.apple.com/mac/library/qa/qa2004/qa1340.htmlढक्कन बंद होने पर प्रोग्राम से नींद से कैसे जगाया जाए?

अधिसूचना प्राप्त करने के बारे में बात करते हैं यह केवल, लेकिन नहीं यकीन है कि वहाँ नींद से जगाने के लिए प्रणाली किसी भी तरह से है:

मैं लिंक का पालन पढ़ा है?

मैं जानकारी के लिए कुछ धागे की सराहना करते हैं ...

अद्यतन:

सुझाव के अनुसार, मैं

कोड मैं का इस्तेमाल किया है IOPMSchedulePowerEvent साथ करने की कोशिश की:

NSCalendarDate *timeIntervalSinceNow = [NSCalendarDate dateWithTimeIntervalSinceNow:40]; 
IOReturn result = IOPMSchedulePowerEvent ((CFDateRef)timeIntervalSinceNow, NULL, CFSTR(kIOPMAutoWake)); 

परिणाम:

अगर मैडबुक

क्या मैं कुछ गलत या कोई समाधान कर रहा हूं, तो यह मैकबुक में विफल रहता है?

+0

यह भी देखें https://github.com/iccir/Fermata लेकिन दूसरों की तरह यह क्लैमशेल में केवल "रोकता है" नींद में, अगर कोई सो रहा है तो "सोना मैक" जागने के लिए क्या है ... – rogerdpack

उत्तर

6

आप पावर मैनेजर के माध्यम से IOPMSchedulePowerEvent के साथ जागने की घटनाओं को शेड्यूल कर सकते हैं। आप तुरंत जागने में सक्षम हो सकते हैं। pmset पावर मैनेजर के लिए कमांड लाइन रैपर है। आप कुछ मामलों में IOCancelPowerChange के साथ नींद को भी रोक सकते हैं।

आप माउस या कुंजी ईवेंट उत्पन्न करके नींद को रोकने या जागने में सक्षम हो सकते हैं। घटनाओं को उत्पन्न करने का एक तरीका CGPostKeyboardEvent के साथ है।

संपादित करें:

सामान्य नींद अलग से clamshell नींद बंद कर दिया है। उत्तरार्द्ध को प्रभावित करने के लिए आपको Insomnia जैसे कर्नेल एक्सटेंशन को लिखना होगा।

+2

आप कैसे जाग सकते हैं एक घटना उत्पन्न करके? यदि कंप्यूटर सो रहा है, तो आपका कोड नहीं चल रहा है। – JWWalker

+0

धन्यवाद, मुझे कोशिश करने दो। तुम्हारा मतलब है कि यह ढक्कन बंद नींद के लिए भी काम करेगा? –

+0

मैंने नींद से जागने के लिए IOPMSchedulePowerEvent के साथ प्रयास किया, अगर ढक्कन बंद हो तो मैकबुक में विफल हो जाता है। –

संबंधित मुद्दे