【发布时间】:2014-03-25 15:37:26
【问题描述】:
我正在尝试使用 VB.NET 查找各种计算机的机箱类型。这将成为使用某些标准来确定例程的自动化测试程序的一部分。我使用的代码如下
'REFERENCING WIN32_SystemEnclosure
Dim qwin32SystemEnclosure As New SelectQuery("Win32_SystemEnclosure")
Dim searchse As New ManagementObjectSearcher(qwin32SystemEnclosure)
Dim infose As New ManagementObject
For Each infose In searchse.Get
strCOMM = infose("chassisTypes").ToString
Next
结果我收到了system.Uint16[]。我知道我使用的是正确的win_32 class。我相信输出到字符串有问题,但我不知道如何纠正。作为参考,正确的输出应该是 10。
感谢您的帮助!
编辑:我遇到了类似问题...我无法像使用 uint16 值那样将 uint32 转换为字符串或整数。这是我的代码
Imports System.Management
Public Class frmBatterytest
Dim strDesigncap As String
Dim strCurrentcap As String
Dim strResult As String = 0
Private Sub btnTest_Click(sender As Object, e As EventArgs) Handles btnTest.Click
' REFERENCING WIN32_BATTERY
Dim qwin32 As New SelectQuery("Win32_Battery")
Dim search As New ManagementObjectSearcher(qwin32)
Dim info As New ManagementObject
For Each info In search.Get
strDesigncap = info("DesignCapacity")(0).ToString
strCurrentcap = info("FullChargeCapacity")(0).ToString
Next
lblDCv.Text = strDesigncap
lblCCv.Text = strCurrentcap
lblTRv.Text = strCurrentcap / strDesigncap * 100 & "%"
End Sub
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
Me.Close()
End Sub
End Class
【问题讨论】:
-
你得到了什么结果?你有错误吗?请详细说明...
标签: vb.net winapi int wmi output