标题:求助 VB6如何获取网卡名称及DNS地址
只看楼主
ts_2000
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2021-2-8
结帖率:33.33%
已结贴  问题点数:20 回复次数:6 
求助 VB6如何获取网卡名称及DNS地址
在网上找了些代码,可以实现获取IP地址,掩码、网关,网卡描述,Mac地址等信息,如何获取网卡名称(本地连接、以太网等),不是网卡描述。还有DNS服务器地址!
搜索更多相关主题的帖子: 名称 获取 网卡 地址 DNS 
2021-02-08 12:20
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:20 
程序代码:
Private Sub Form_Load()
Set wmiService = GetObject("winmgmts:\\.\root\cimv2")
Set Items = wmiService.ExecQuery("Select * From Win32_NetworkAdapter")
s = ""
For Each objItem In Items
    If LCase(Left(objItem.PNPDeviceID, 4)) = "pci\" Then
        Set Its = wmiService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration where Caption='" & objItem.Caption & "'")
        For Each It In Its
            If Not IsNull(It.MACAddress) Then
                n = n + 1
                s = s & "网卡" & n & "" & vbCrLf _
                    & "网卡名称:" & It.Caption & vbCrLf _
                    & "物理地址:" & It.MACAddress & vbCrLf & vbCrLf
                If Not IsNull(It.IPAddress) Then
                    s = Left(s, Len(s) - 2) & "IPv4地址:" & It.IPAddress(0) _
                        & vbCrLf & "IPv6地址:" & It.IPAddress(1) & vbCrLf & vbCrLf
                End If
            End If
        Next
    End If
Next
MsgBox s
End Sub

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2021-02-08 12:39
ts_2000
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2021-2-8
得分:0 
感谢版主回复
但仍未获取DNS服务器地址和网卡名称。
2021-02-08 13:35
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
以下是引用ts_2000在2021-2-8 13:35:10的发言:

感谢版主回复
但仍未获取DNS服务器地址和网卡名称。


这个不是网卡名称?

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2021-02-08 13:38
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
dns服务器来了。

程序代码:
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Form_Load()
Dim buffer As String
Shell "cmd /c nslookup>>1.txt ", vbHide
Sleep 1000
Open "1.txt" For Input As #1
Line Input #1, buffer
Close #1
MsgBox buffer
End Sub



程序代码:
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Form_Load()
Dim data As String
Dim buffer As String
Shell "cmd /c nslookup>>1.txt ", vbHide
Sleep 1000
Open "1.txt" For Input As #1
Line Input #1, data
Line Input #1, buffer
Close #1
MsgBox data & vbCrLf & buffer
End Sub


[此贴子已经被作者于2021-2-8 13:55编辑过]


心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2021-02-08 13:52
ts_2000
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2021-2-8
得分:0 
第二个代码,可以获取主DNS地址,厉害!!
可是DNS有两个,另一个没获取到呢!
2021-08-27 17:13
cwa9958
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:247
专家分:1228
注 册:2006-6-25
得分:0 
cmd /c ipconfig /all 命令可以获得所有的信息。
2021-08-31 13:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-504838-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.284272 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved