Lecture WMI niveau de batterie
Bonjours , je voudrais recuperer le niveau des batteries d'un ordi portable (2 batterie)
J'ai fait un prog similaire en AutoIT et cela fonctionne tres bien
Mais en visual basic quand j essai de lire j ai une erreur
Version Autoit
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Func Batt()
Local $s_Text = ''
Dim $Obj_WMIService = ObjGet('winmgmts:\\' & @ComputerName & '\root\cimv2');
If (IsObj($Obj_WMIService)) And (Not @error) Then
Dim $Col_Items = $Obj_WMIService.ExecQuery("select * from CIM_Battery")
Local $Obj_Item
For $Obj_Item In $Col_Items
$s_Text &= $Obj_Item.Name
$s_Text &= " : " & $Obj_Item.EstimatedChargeRemaining
$s_Text &=":" & @CRLF
Next
Return String($s_Text)
Else
Return 0
EndIf
EndFunc |
Version VB.NET
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Public Function Batt() As String
Dim Txt As String = ""
Try
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher("select * from CIM_Battery")
For Each WMI_Info As ManagementObject In searcher.Get()
Txt &= WMI_Info("Name").ToString() + vbNewLine
Next WMI_Info
Return Txt
Catch ex As Exception
Return "Erreur lecture Batt " + ex.Message
End Try
End Function |
Pour infos j'ai coder la meme fonction pour le type d os et ca fonctionne sans probleme