我的电脑是双网卡的。一个接公网,另一个接内部网。现在的问题是
我如何让程序自动检测与公网连接的网卡。我看了很多实例都是如何把所有网卡一一列出。找不到相关检测内网与外网网卡的资料。望大家指点一下

解决方案 »

  1.   

    Dim goOn As Boolean
    Private Sub Command1_Click()
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set IPConfigSet = objWMIService.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration ")
    On Error Resume Next
    For Each IPConfig In IPConfigSet
    s = ""
      s = s & "ArpAlwaysSourceRoute:  " & IPConfig.ArpAlwaysSourceRoute & vbCrLf
      s = s & "ArpUseEtherSNAP:  " & IPConfig.ArpUseEtherSNAP & vbCrLf
      s = s & "Caption:  " & IPConfig.Caption & vbCrLf
      s = s & "DatabasePath:  " & IPConfig.DatabasePath & vbCrLf
      s = s & "DeadGWDetectEnabled:  " & IPConfig.DeadGWDetectEnabled & vbCrLf
            ss = ""
            For i = LBound(IPConfig.DefaultIPGateway) To UBound(IPConfig.DefaultIPGateway)
                ss = ss & IPConfig.DefaultIPGateway(i) & "  "
            Next
      s = s & "DefaultIPGateway:  " & ss & vbCrLf
      s = s & "Description:  " & IPConfig.Description & vbCrLf
      s = s & "DHCPEnabled:  " & IPConfig.DHCPEnabled & vbCrLf
      s = s & "DHCPLeaseExpires:  " & IPConfig.DHCPLeaseExpires & vbCrLf
      s = s & "DHCPLeaseObtained:  " & IPConfig.DHCPLeaseObtained & vbCrLf
      s = s & "DHCPServer:  " & IPConfig.DHCPServer & vbCrLf
      s = s & "DNSDomain:  " & IPConfig.DNSDomain & vbCrLf
            ss = ""
            For i = LBound(IPConfig.DNSDomainSuffixSearchOrder) To UBound(IPConfig.DNSDomainSuffixSearchOrder)
                ss = ss & IPConfig.DNSDomainSuffixSearchOrder(i) & "  "
            Next
      s = s & "DNSDomainSuffixSearchOrder:  " & ss & vbCrLf
      s = s & "DNSEnabledForWINSResolution:  " & IPConfig.DNSEnabledForWINSResolution & vbCrLf
      s = s & "DNSHostName:  " & IPConfig.DNSHostName & vbCrLf
            ss = ""
            For i = LBound(IPConfig.DNSServerSearchOrder) To UBound(IPConfig.DNSServerSearchOrder)
                ss = ss & IPConfig.DNSServerSearchOrder(i) & "  "
            Next
      s = s & "DNSServerSearchOrder:  " & ss & vbCrLf
      s = s & "DomainDNSRegistrationEnabled:  " & IPConfig.DomainDNSRegistrationEnabled & vbCrLf
            ss = ""
            For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
                ss = ss & IPConfig.IPAddress(i) & "  "
            Next
      s = s & "IPAddress:  " & ss & vbCrLf
       s = s & "IPEnabled:  " & IPConfig.IPEnabled & vbCrLf
      s = s & "IPFilterSecurityEnabled:  " & IPConfig.IPFilterSecurityEnabled & vbCrLf
      s = s & "IPPortSecurityEnabled:  " & IPConfig.IPPortSecurityEnabled & vbCrLf
            ss = ""
            For i = LBound(IPConfig.IPSecPermitIPProtocols) To UBound(IPConfig.IPSecPermitIPProtocols)
                ss = ss & IPConfig.IPSecPermitIPProtocols(i) & "  "
            Next
      s = s & "IPSecPermitIPProtocols:  " & ss & vbCrLf
            ss = ""
            For i = LBound(IPConfig.IPSecPermitTCPPorts) To UBound(IPConfig.IPSecPermitTCPPorts)
                ss = ss & IPConfig.IPSecPermitTCPPorts(i) & "  "
            Next
      s = s & "IPSecPermitTCPPorts:  " & ss & vbCrLf
            ss = ""
            For i = LBound(IPConfig.IPSecPermitUDPPorts) To UBound(IPConfig.IPSecPermitUDPPorts)
                ss = ss & IPConfig.IPSecPermitUDPPorts(i) & "  "
            Next
      s = s & "IPSecPermitUDPPorts:  " & ss & vbCrLf
            ss = ""
            For i = LBound(IPConfig.IPSubnet) To UBound(IPConfig.IPSubnet)
                ss = ss & IPConfig.IPSubnet(i) & "  "
            Next
      s = s & "IPSubnet:  " & ss & vbCrLf
      s = s & "IPUseZeroBroadcast:  " & IPConfig.IPUseZeroBroadcast & vbCrLf
      s = s & "IPXAddress:  " & IPConfig.IPXAddress & vbCrLf
      s = s & "IPXEnabled:  " & IPConfig.IPXEnabled & vbCrLf
            ss = ""
            For i = LBound(IPConfig.IPXNetworkNumber) To UBound(IPConfig.IPXNetworkNumber)
                ss = ss & IPConfig.IPXNetworkNumber(i) & "  "
            Next
      s = s & "IPXNetworkNumber:  " & ss & vbCrLf
      s = s & "IPXVirtualNetNumber:  " & IPConfig.IPXVirtualNetNumber & vbCrLf
      s = s & "MACAddress:  " & IPConfig.MACAddress & vbCrLf
      s = s & "PMTUBHDetectEnabled:  " & IPConfig.PMTUBHDetectEnabled & vbCrLf
      s = s & "PMTUDiscoveryEnabled:  " & IPConfig.PMTUDiscoveryEnabled & vbCrLf
      s = s & "ServiceName:  " & IPConfig.ServiceName & vbCrLf
      s = s & "SettingID:  " & IPConfig.SettingID & vbCrLf
      s = s & "TcpUseRFC1122UrgentPointer:  " & IPConfig.TcpUseRFC1122UrgentPointer & vbCrLf
      s = s & "WINSEnableLMHostsLookup:  " & IPConfig.WINSEnableLMHostsLookup & vbCrLf
      s = s & "WINSHostLookupFile:  " & IPConfig.WINSHostLookupFile & vbCrLf
      s = s & "WINSPrimaryServer:  " & IPConfig.WINSPrimaryServer & vbCrLf
      s = s & "WINSScopeID:  " & IPConfig.WINSScopeID & vbCrLf
      s = s & "WINSSecondaryServer:  " & IPConfig.WINSSecondaryServer & vbCrLf
    'Text1.ScrollBars = 3  '手工设置
    'Text1.MultiLine = True  手工设置
    Text1.Text = s
    Do While goOn = False
    DoEvents
    Loop
    goOn = False
    Next
    MsgBox "结束"
    End SubPrivate Sub Command2_Click()
    goOn = True
    End Sub