我正在測試一個應用程序,以便讓用戶知道何時插入和拔下筆記本電腦以最大限度地利用筆記本電腦電池。除此之外,我試圖從Windows功率計複製工具提示。Windows如何計算電池的剩餘時間?
到目前爲止,這是相當成功的一些差異。
- Windows剩餘時間通知,例如, 「剩餘X小時XX分鐘(XX%)」,直到大約一分鐘後才顯示。
- 在Windows剩餘時間更換電池負載
下顯得比較穩重,這些使我想到了Windows剩餘時間算法均在過去分鐘左右,但我找不到任何文檔。有誰知道它到底做了什麼,所以我可以重現它?
這裏是我的實現(在Python中,但問題是語言不可知的)。我想我需要平均每y
秒投票的最近x
放電率,但需要知道的值爲x
和y
。
t = wmi.WMI(moniker = "//./root/wmi")
batts = t.ExecQuery('Select * from BatteryStatus where Voltage > 0')
time_left = 0
for _i, b in enumerate(batts):
time_left += float(b.RemainingCapacity)/float(b.DischargeRate)
hours = int(time_left)
mins = 60 * (time_left % 1.0)
return '%i hr %i min' % (hours, mins)
只是一個澄清 - 你使用[任何這些函數](http://msdn.microsoft.com/en-us/library/windows/desktop/aa373163%28v=vs.85%29.aspx)某處? – admdrew
這是估計的課程。它沒有時間機器知道你要開始玩遊戲並迅速耗盡你的電池。 –
@admdrew我正在使用'wmi',這是一個大概在某個級別包裝這些函數的Python包。我正在從[此答案](http://stackoverflow.com/a/16380996/1706564)執行。 –