【问题标题】:vb.net WMI query to stringvb.net WMI 查询到字符串
【发布时间】:2018-03-04 14:43:51
【问题描述】:

我对 WMI 查询有一点问题。 我必须检查某个属性是否存在于 WMI 查询实例中,我所做的代码是:

Imports System.Management
Imports System.Management.Instrumentation

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim search_cpu As New ManagementObjectSearcher("SELECT * FROM Win32_Processor")
        Dim info_cpu As ManagementObject '= Convert.ToUInt32("search_cpu")
        Dim cpu_v As Integer
        For Each info_cpu In search_cpu.Get()
            If search_cpu.Get("caption") = True Then
                cpu_v = "Caption"
                Label1.Text = ("Name: " & info_cpu(cpu_v).ToString())
            End If
        Next
    End Sub
End Class

任何帮助将不胜感激。 提前致谢

【问题讨论】:

  • 到底是怎么回事?
  • 它给了我一个转换为整数的错误。 System.InvalidCastException
  • 请花一些时间查看您的问题并解决格式问题。
  • 我认为格式化问题是固定的,问题是:
  • 我认为格式化问题已解决,问题是:我必须检查确定 WMI 查询是真还是假,如果为真则运行查询,如果为假则不运行查询.

标签: wmi-query


【解决方案1】:

我设法复制了。下面的代码对我来说没问题,Label1 现在显示:

Intel64 Family 6 Model 58 Stepping 9

    Sub Main()
            Dim search_cpu As New ManagementObjectSearcher("SELECT * FROM Win32_Processor")
            Dim info_cpu As ManagementObject '= Convert.ToUInt32("search_cpu")
            Dim caption As String
            For Each info_cpu In search_cpu.Get()
                caption = info_cpu("caption").ToString()
            Next
            Label1.Text = caption
            if (string.isnullorempty(caption))
            Label1.Text ="<does not exist>"
        End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    相关资源
    最近更新 更多