-1

接続されている接続とそのIPアドレスを検出するVisual Basic 2010プログラムを作成しようとしています。たとえば、ワイヤレスとケーブルで接続すると、接続されているメディアとその 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. 

私は間違っていますか?これが間違ったコードかどうかを誰かに教えてもらえますか?

4

1 に答える 1

0

class を使用することをお勧めします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

于 2013-10-22T09:01:20.143 に答える