我知道如何使用 wmi,我以前用过它,但是,我似乎需要调用的 wmi 类是 GetSystemPowerStatus。但我无法找到它的文档。为了能够访问它,我需要知道命名空间和类中数据的格式。有人可以帮助我吗?还有一些示例代码会很好。
最佳答案
使用 ctypes
, 你可以调用 win32 api:
from ctypes import *
class PowerClass(Structure):
_fields_ = [('ACLineStatus', c_byte),
('BatteryFlag', c_byte),
('BatteryLifePercent', c_byte),
('Reserved1',c_byte),
('BatteryLifeTime',c_ulong),
('BatteryFullLifeTime',c_ulong)]
powerclass = PowerClass()
result = windll.kernel32.GetSystemPowerStatus(byref(powerclass))
print(powerclass.BatteryLifePercent)
以上代码来自here .
使用 Win32_Battery
class (您需要安装 pywin32
):
from win32com.client import GetObject
WMI = GetObject('winmgmts:')
for battery in WMI.InstancesOf('Win32_Battery'):
print(battery.EstimatedChargeRemaining)
使用 wmi
package 的替代方案:
import wmi
w = wmi.WMI()
for battery in w.query('select * from Win32_Battery'):
print battery.EstimatedChargeRemaining
关于python - 在 python 中使用 wmi 获取电池状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21083518/