使用visual basic 2010显示连接状态

时间:2013-10-22 08:55:14

标签: visual-studio-2010 vbscript code-translation

我尝试创建visual basic 2010程序,检测连接的连接及其IP地址。例如,如果我连接无线和有线,它将显示连接的媒体及其IP地址。我从WMI代码创建者那里获取此代码

Dim strComputer = "." 
Dim Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_NetworkAdapterConfiguration",,48) 
For Each objItem in colItems 
Wscript.Echo "-----------------------------------"
Wscript.Echo "Win32_NetworkAdapterConfiguration instance"
Wscript.Echo "-----------------------------------"
If isNull(objItem.IPAddress) Then
    Wscript.Echo "IPAddress: "
Else
    Wscript.Echo "IPAddress: " & Join(objItem.IPAddress, ",")
End If

然后我收到错误消息

'colItems' is not declared. It may be inaccessible due to its protection level. 

我做错了吗?如果这是错误的代码,有人可以告诉我吗?

1 个答案:

答案 0 :(得分:0)

更好地使用班级ManagementObjectSearcher。这是一个例子:

Private objOS As ManagementObjectSearcher
Private objCS As ManagementObjectSearcher
Private objMgmt As ManagementObject
Private m_strComputerName As String
Private m_strManufacturer As String
Private m_StrModel As String
Private m_strOSName As String
Private m_strOSVersion As String
Private m_strSystemType As String
Private m_strTPM As String
Private m_strWindowsDir As String


Public Sub New()

    objOS = New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
    objCS = New ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystem")
    For Each objMgmt In objOS.Get


        m_strOSName = objMgmt("name").ToString()
        m_strOSVersion = objMgmt("version").ToString()
        m_strComputerName = objMgmt("csname").ToString()
        m_strWindowsDir = objMgmt("windowsdirectory").ToString()
    Next

只需将查询更改为:SELECT * FROM Win32_NetworkAdapterConfiguration

即可