2.28.2009

autoit_取得電池資訊

有些人在問如何用autoit取得電池資訊方法
如果需要,還可以在這裡上找到其它WMI中關於Win32_Battery
網頁中有提供vbscript的範例,有需要的人可以自行看看囉

實作方式,我直接採用CompuInfo這一個UDF來解決
(這一個UDF它都是用WMI的方法去取得自己所需要的資訊的)
(請參閱autoit - 取得電腦軟硬體資訊一文)
呼叫CompuInfo函式庫中的_ComputerGetBattery($Battery)
即可以取得所需的資訊

程式範例如下:


#include <_CompInfo.au3>

Dim $Battery

_ComputerGetBattery($Battery)
If @error Then
    $error = @error
    $extended = @extended
    Switch $extended
        Case 1
            _ErrorMsg($ERR_NO_INFO)
        Case 2
            _ErrorMsg($ERR_NOT_OBJ)
    EndSwitch
EndIf

For $i = 1 To $Battery[0][0] Step 1
    MsgBox(0, "Test _ComputerGetBattery",             "Name: " & $Battery[$i][0] & @CRLF & _
            "Availability: " & $Battery[$i][1] & @CRLF & _
            "BatteryRechargeTime: " & $Battery[$i][2] & @CRLF & _
            "BatteryStatus: " & $Battery[$i][3] & @CRLF & _
            "Description: " & $Battery[$i][4] & @CRLF & _
            "Chemistry: " & $Battery[$i][5] & @CRLF & _
            "ConfigManagerErrorCode: " & $Battery[$i][6] & @CRLF & _
            "ConfigManagerUserConfig: " & $Battery[$i][7] & @CRLF & _
            "CreationClassName: " & $Battery[$i][8] & @CRLF & _
            "DesignCapacity: " & $Battery[$i][9] & @CRLF & _
            "DesignVoltage: " & $Battery[$i][10] & @CRLF & _
            "DeviceID: " & $Battery[$i][11] & @CRLF & _
            "ErrorCleared: " & $Battery[$i][12] & @CRLF & _
            "ErrorDescription: " & $Battery[$i][13] & @CRLF & _
            "EstimatedChargeRemaining: " & $Battery[$i][14] & @CRLF & _
            "EstimatedRunTime: " & $Battery[$i][15] & @CRLF & _
            "ExpectedBatteryLife: " & $Battery[$i][16] & @CRLF & _
            "ExpectedLife: " & $Battery[$i][17] & @CRLF & _
            "FullChargeCapacity: " & $Battery[$i][18] & @CRLF & _
            "LastErrorCode: " & $Battery[$i][19] & @CRLF & _
            "MaxRechargeTime: " & $Battery[$i][20] & @CRLF & _
            "PNPDeviceID: " & $Battery[$i][21] & @CRLF & _
            "PowerManagementCapabilities: " & $Battery[$i][22] & @CRLF & _
            "PowerManagementSupported: " & $Battery[$i][23] & @CRLF & _
            "SmartBatteryVersion: " & $Battery[$i][24] & @CRLF & _
            "Status: " & $Battery[$i][25] & @CRLF & _
            "StatusInfo: " & $Battery[$i][26] & @CRLF & _
            "SystemCreationClassName: " & $Battery[$i][27] & @CRLF & _
            "SystemName: " & $Battery[$i][28] & @CRLF & _
            "TimeOnBattery: " & $Battery[$i][29] & @CRLF & _
            "TimeToFullCharge: " & $Battery[$i][30])
Next




下圖是在我的電腦執行的畫面,參數如下所示:
EstimatedChargeRemaining:還有幾%的電
EstimatedRunTime:還有幾分鐘的電




1 則留言:

這就是網管!? 提到...

你好!我在網路上看到你使用這個工具覺得很棒!!
我想請問一個小問題!
我想請問一下,要如何在某個程式來get我要的資料,並且彈出一個訊息告訴我抓的資料叫什麼。
例如TeamViewer這個程式,我要抓取ID(這個ID每次開啟都不一樣),然後將這個ID號碼顯在在自己建立的訊息框上。
對不起可能問題很笨,可以請你教我嗎?