在Java中获取Windows计费状态

时间:2013-02-27 20:22:46

标签: java windows jna battery

我想告诉天气与否我的Windows笔记本电脑正在充电。我希望它检查,并返回1或者如果正在充电则返回true或者如果不是则返回0或者返回false。我按照How to get the remaining battery life in a Windows system?的说明进行操作,但我无法弄清楚如何解析答案并获得充电状态。有没有人有建议?

编辑:我希望能够输入类似的内容 boolean battery = getBattery(); 让它返回真或假

1 个答案:

答案 0 :(得分:2)

您可以使用引用source中的getBatteryFlagString()方法。或直接使用BatteryFlag并检查它是否等于8,有关详细信息,请参阅getBatteryFlagString

类似的东西:

Kernel32.SYSTEM_POWER_STATUS batteryStatus = new Kernel32.SYSTEM_POWER_STATUS();
Kernel32.INSTANCE.GetSystemPowerStatus(batteryStatus);

boolean battery = batteryStatus.BatteryFlag==8;