用wmi方式檢視了一下自己筆記本電池的剩餘時間,結果得到了71582788分鐘這個結果,頓感意外,第一感覺是相關的**寫錯了。
managementobjectsearcher s = new managementobjectsearcher("select * from win32_battery");
managementobjectcollection m = s.get();
foreach (managementobject mo in m)
檢查了幾遍,沒有發現問題,又在網上搜尋類似的**,也是這般的寫法。
在被困擾了一段時間後,嘗試著拔掉了筆記本的電源線,再次啟動程式,這次不是71582788這個數值了。
所以結論是該**只有在不使用外接電源的情況下才能獲得正確的結果。
那麼在使用外接電源的時候為什麼會得到71582788這麼奇怪的數字呢?
其實從estimatedruntime這個屬性得到的值是以分鐘為單位的。71582788分鐘換算成秒就是4294967296,也就是2^32。乙個32位秒計數器的最大值就是這個值。
換句話來講,因為插上電源的情況下,理論上筆記本可以一直使用下去,所以estimatedruntime使用71582788分鐘來表示可以無限使用的含義。
以上純屬本人的猜測。
需要補充的是,既使拔了電源線,最後所得的結果也未必是正確的。
可以多執行幾次這個程式,不難發現,每次的結果都是不一致的,而且差異很大,甚至誤差在乙個小時以上。
不過這又是屬於正常的結果。因為筆記本的剩餘電量顯示原本就是這副樣子的,其系統自帶的偵測程式也有同樣的問題。就目前而言,這應該屬於暫時無法解決的問題吧。
原文同步發布於我的
個人部落格
php計算餘數 php 計算剩餘時間
您現在的位置是 首頁 php php php 計算剩餘時間 計算剩餘時間方法 losstime 計算剩餘時間 author wangjian version 0.1 date 2018 8 17 unixendtime 指定時間戳 public static function losstime un...
中學規定教師課堂只講5分鐘剩餘時間自由討論
校長 我以人格擔保教改會成功 跟帖幾乎一邊倒 一時間,常熟外國語學校,及其校長尤建中被推到了 的風口浪尖。而 西風北起 看法頗具技術性,校長的意圖是好的,但是畢竟高中要面臨高考風險,高中生涯每段時間對於孩子們來說都是寶貴的,想考大學的孩子都想好好利用這寶貴的時間,更希望在學校裡能多聽老師講解更多的知...
SRTF最短剩餘時間優先排程C語言實現
什麼是srtf?srtf shortest remaining time first 實現思想 當新程序進入就緒佇列時,如果它需要處理的時間比當前程序處理時間短,則將當前程序掛起,把cpu分配給新程序。srtf就是sjf的搶占式版本。include include typedef struct pc...