2008-11-07 13 views
26

मैं अपने मैकबुकप्रो पर अपने स्वयं के एप्लिकेशन से बैटरी की स्थिति कैसे पढ़ सकता हूं?ओएसएक्स में बैटरी की स्थिति?

गुगलिंग ने अभी तक केवल बिजली चालकों को संभालने के लिए डिवाइस ड्राइवरों के लिए एपीआई प्रकट किए हैं - इस जानकारी तक पहुंचने वाले उपयोगकर्ता-भूमि प्रक्रियाओं के बारे में कुछ भी नहीं है।

धन्यवाद।

उत्तर

23

आप इसके लिए IOKit का उपयोग करना चाहेंगे, विशेष रूप से IOPowerSources functions। आप ब्लॉब प्राप्त करने के लिए IOPSCopyPowerSourcesInfo() का उपयोग कर सकते हैं, और IOPSCopyPowerSourcesList() उसमें से एक CFArray निकालने के लिए, बिजली स्रोतों को सूचीबद्ध कर सकते हैं। फिर शब्दकोश निकालने के लिए IOPSGetPowerSourceDescription() का उपयोग करें (शब्दकोश की सामग्री के लिए IOPSKeys.h देखें)।

+0

धन्यवाद - यही वही है जो मैं ढूंढ रहा था। – Alnitak

-1

सिस्टम प्रबंधन नियंत्रक को देखें। मेरे पास एमबीपी आसान नहीं है, लेकिन मेरा मानना ​​है कि आपको smc.h

71

पर देखने की आवश्यकता है यदि आप कमांड लाइन से पूछने के लिए एक त्वरित तरीका ढूंढ रहे हैं, तो आपको pmset कमांड सहायक मिलेगा। बैटरी स्थिति की क्वेरी करने के लिए, विशेष रूप से, उपयोग करें:

 
$ pmset -g batt 
+2

और एसएसएच के माध्यम से दूरस्थ रूप से अपने मैक का उपयोग करते समय यह विशेष रूप से उपयोगी होता है। यह जानना अच्छा है कि आपको एसी से कनेक्ट करने के लिए इसे स्प्रिंट करने की आवश्यकता है या नहीं! – ScrollerBlaster

+4

उत्सुक है कि यह बहुत सारे अपवॉट्स प्राप्त हुआ है, जब यह स्पष्ट रूप से एक एपीआई कॉल है जिसे मैं ढूंढ रहा था (प्रति जवाब मैं स्वीकार करता हूं) – Alnitak

+3

संभवतया क्योंकि प्रश्न शीर्षक/टैग स्क्रिप्ट/सीएलआई और संकलित संदर्भों के बीच अंतर नहीं करते हैं, इतने सारे (जैसे खुद) एक छोटे से लपेटने योग्य उत्तर को एक उत्तर से अधिक उपयोगी पाते हैं जिसके लिए मुझे एक विशिष्ट संकलित लैंग में जाने की आवश्यकता होती है। – xander