讀取網卡資訊
Option Explicit
Dim objSWbemServices As SWbemServices
Dim objSWbemObjectSet As SWbemObjectSet
Dim objSWbemObject As SWbemObject
Private Type NetCard
Name As String
IPAdress As String
IpSubNets As String
IpGateWay As String
DnsString0 As String
DnsString1 As String
MacAdress As String
End Type
Dim MtNetCard() As NetCard
Private Sub Command1_Click()
Dim i As Long
For i = LBound(MtNetCard) To UBound(MtNetCard) - 1
Text1 = Text1 & "網卡: " & MtNetCard(i).Name & vbNewLine
Text1 = Text1 & "ip地址: " & MtNetCard(i).IPAdress & vbNewLine
Text1 = Text1 & "子網路遮罩:" & MtNetCard(i).IpSubNets & vbNewLine
Text1 = Text1 & "網關: " & MtNetCard(i).IpGateWay & vbNewLine
Text1 = Text1 & "DNS1: " & MtNetCard(i).DnsString0 & vbNewLine
Text1 = Text1 & "DNS2: " & MtNetCard(i).DnsString1 & vbNewLine
Text1 = Text1 & "MAC: " & MtNetCard(i).MacAdress & vbNewLine
Next
Erase MtNetCard
End Sub
Private Sub Form_Load()
ReDim MtNetCard(0) As NetCard
Set objSWbemServices = GetObject("winmgmts:")
Set objSWbemObjectSet = objSWbemServices.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
For Each objSWbemObject In objSWbemObjectSet
On Error Resume Next
MtNetCard(UBound(MtNetCard)).Name = objSWbemObject.Description '添加本機上已經安裝了TCP/IP協議的網卡
MtNetCard(UBound(MtNetCard)).IPAdress = objSWbemObject.IPAddress(0)
MtNetCard(UBound(MtNetCard)).IpSubNets = objSWbemObject.IPSubnet(0)
MtNetCard(UBound(MtNetCard)).IpGateWay = objSWbemObject.DefaultIPGateway(0)
MtNetCard(UBound(MtNetCard)).DnsString0 = objSWbemObject.DNSServerSearchOrder(0)
MtNetCard(UBound(MtNetCard)).DnsString1 = objSWbemObject.DNSServerSearchOrder(1)
MtNetCard(UBound(MtNetCard)).MacAdress = objSWbemObject.MacAddress(0)
ReDim Preserve MtNetCard(UBound(MtNetCard) + 1) As NetCard
Next
End Sub