使用 Java JNA Library using How to get the remaining battery life in a Windows system? 作为参考,我做了一个程序。不幸的是,http: //msdn.microsoft.com/en-us/library/aa373232.aspx中描述的 BatteryLife Percent 函数显示为 -1 或未知。谁能解释一下如何让它知道?我知道这似乎是一个愚蠢的问题,但我似乎无法让它发挥作用。任务栏上的电池图标显示百分比精细,并且由于它也很可能使用相同的功能,我认为 JNA 库可能有问题。
问问题
2920 次
1 回答
0
我有同样的问题,这就是我解决它的方法。我使用了与您相同的解决方案,并发现 getFieldOrder() 中的字段顺序很重要,否则您会得到不正确的输出。它必须与您使用的 SYSTEM_POWER_STATUS 结构相同。Reserved1 的位置似乎无关紧要:
@Override
protected List getFieldOrder() {
ArrayList<String> fields = new ArrayList<String>();
fields.add("ACLineStatus");
fields.add("BatteryFlag");
fields.add("BatteryLifePercent");
fields.add("BatteryLifeTime");
fields.add("BatteryFullLifeTime");
fields.add("Reserved1");
return fields;
}
于 2013-07-15T15:43:55.690 回答