使用VB.Net查找机箱类型

使用VB.Net查找机箱类型,vb.net,winapi,int,wmi,output,Vb.net,Winapi,Int,Wmi,Output,我正在尝试使用VB.NET查找各种计算机的机箱类型。这将是自动测试程序的一部分,该程序使用某些标准来确定例程。我使用的代码如下 'REFERENCING WIN32_SystemEnclosure Dim qwin32SystemEnclosure As New SelectQuery("Win32_SystemEnclosure") Dim searchse As New ManagementObjectSearcher(qwin32SystemEnclosure) Dim infose As

我正在尝试使用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类
。我相信字符串的输出有问题,但我不知道如何更正。作为参考,正确的输出应为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
“system.Uint16[]”
是对数组类型调用
ToString
的结果,它不会自动格式化数组中的值并将其作为字符串返回给您

拉取特定值:

 strCOMM = infose("chassisTypes")(0).ToString

Join()
获取分隔字符串中的所有值。

得到的结果是什么?你有错误吗?请详细说明……谢谢你,我感谢你的帮助。我对不同的数据类型不太熟悉,最初没有意识到它被格式化为数组。我在这方面遇到了更多的问题。我编写了一个测试程序来尝试一些我想添加到我的大型测试程序中的代码,但是现在我在将uint32转换为字符串时遇到了问题。用于拉动uint16的第一个条目的相同方法不起作用。感谢您的帮助。谢谢如果你有一个uint变量而不是数组,那么我想这就是我要做的。我把代码贴在上面。我收到的错误是:“Microsoft.VisualBasic.dll中发生了类型为'System.NullReferenceException'的未处理异常。其他信息:对象变量或未设置块变量。”我试图通过MSDN找到答案,但它说只使用“.tostring”将单位转换为字符串。我不确定我做错了什么。如果
info(“Description”).ToString
给您一个null ref异常,那么
info(“Description”)
为null,您需要进行测试