所有网卡所有信息代码
求一段AU3代码,要求实现如下目标:获取本机所有网卡(有线网卡+无线网卡)的连接名、IP、子网掩码、网关、DNS、MAC、,然后将结果生成在与代码同目录的记事本中说明:对于同时有无线网卡和有线网卡的笔记本,要达到同时判断出来的目的,不管有线网卡和无线网卡是不是在使用中,只要不是禁用就行,禁用就提示出错,最后所有的网卡信息全放在记事本中,便于复制。 自己尝试写吧,这个不难。 本帖最后由 dtooboss 于 2010-4-13 00:22 编辑
方法一#include <Process.au3>
_RunDOS('ipconfig /all > log.txt')
_RunDOS('Notepad.exe log.txt')
三行搞定。
方法二#include <ACN_NET.au3>
$info = _NetworkAdapterInfo()
FileWrite("info.txt", "网卡名称:" & $info & @CRLF & "连接名称:" & $info & @CRLF & "DNS主机名称:" & $info _
& @CRLF & "IP地址:" & $info & @CRLF & "子网掩码:" & $info & @CRLF & "默认网关:" & $info _
& @CRLF & "主DNS:" & $info & @CRLF & "次DNS:" & $info & @CRLF & "MAC地址:" & $info)
Run("Notepad.exe info.txt", "", @SW_MAXIMIZE) 多了点...... 回复 3# dtooboss
方法一:简单有效。但对同时有无线网卡和有线网卡的笔记本,其余一个网卡信息显示不全。
方法二:判断有问题,对同时有无线网卡和有线网卡的笔记本,只能判断当前使用中的网卡。其余网卡即使不禁用也判断不出来。 貌似这个要查注册表的。所有的网卡信息,只要是曾经使用过的,都应该可以从注册表中查到。
HKEY_LOCAL_MCHINE\SYSTEM\CurrentControlSet\Control\Network 下面可以查到连接名称;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Inrefaces 下面可以查到IP、子网掩码、网关、DNS等其他信息。
记不大清楚了,可能不是很准确,但查注册表这个方法是没错的。 回复dtooboss
方法一:简单有效。但对同时有无线网卡和有线网卡的笔记本,其余一个网卡信息显示不全。
...
jsbhwxw 发表于 2010-4-13 09:07 http://www.autoitx.com/images/common/back.gif
_NetworkAdapterInfo() 函数有点问题,试试下面的。#include <Array.au3>
$Info = _Info()
_ArrayDisplay($Info, "NetworkAdapterInfo")
Func _Info()
Local $colItem
Local $objItem
Local $colItems
Local $objItems
Local $objWMIService
Local $Adapters
$Adapters = 0
$objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
$colItem = $objWMIService.ExecQuery("Select * FROM Win32_NetworkAdapter Where NetConnectionStatus >0", "WQL", 0x30)
If IsObj($colItem) Then
For $objItem In $colItem
If $objItem.MACAddress = "00:00:00:00:00:00" Then ContinueLoop
$Adapters += 1
ReDim $Adapters
$Adapters[$Adapters] += $Adapters
$Adapters[$Adapters] = $objItem.NetConnectionStatus
$Adapters[$Adapters] = $objItem.Description
$Adapters[$Adapters] = $objItem.NetConnectionID
$Adapters[$Adapters] = $objItem.MACAddress
$colItems = $objWMIService.ExecQuery('Select * FROM Win32_NetworkAdapterConfiguration Where MACAddress = "' & $Adapters[$Adapters] & '" And IPEnabled = True ', "WQL", 0x30)
If IsObj($colItems) Then
For $objItems In $colItems
$Adapters[$Adapters] = $objItems.IPAddress(0)
$Adapters[$Adapters] = $objItems.DefaultIPGateway(0)
$Adapters[$Adapters] = $objItems.IPSubnet(0)
$Adapters[$Adapters] = $objItems.DNSServerSearchOrder(0)
$Adapters[$Adapters] = $objItems.DNSServerSearchOrder(1)
Next
EndIf
Next
EndIf
Return $Adapters
EndFunc ;==>_Info
回复 6# dtooboss
不错! 本帖最后由 jsbhwxw 于 2010-4-13 16:16 编辑
回复 6# dtooboss
经测试,对同时有无线网卡和有线网卡的笔记本,第二个网卡的信息依旧是显示不全,还有一个问题,显示出来的网卡信息,我认为可以放在记事本中,虽然原程序在显示结果的下面有一个复制按钮,但如果先复制再粘贴,我认为好像多此一举,还不如直接把结果生成在记事本中。 回复dtooboss
经测试,对同时有无线网卡和有线网卡的笔记本,第二个网卡的信息依旧是显示不全,还有一个 ...
jsbhwxw 发表于 2010-4-13 16:12 http://www.autoitx.com/images/common/back.gif
1,不知道你的无线网卡是什么样的?usb ? 3G 上网卡?
2,信息的保存为记事本很简单,你自己稍微改改代码就行了。
对同时有无线网卡和有线网卡的笔记本,第二个网卡的信息依旧是显示不全
本帖最后由 jsbhwxw 于 2010-4-13 20:49 编辑回复 9# dtooboss
看来要拿出证据出来才能相信的了,等一下,我准备上图。要保存到电脑上放大才能看清楚。从这个图至少可以看出两个问题,第一个问题是,对同时有无线网卡和有线网卡的笔记本,第二个网卡的信息依旧是显示不全,说明一下,我的无线网卡是最普通的那种,MIN-PCI-E,内置的,无线网卡的IP 子网掩码 网关设置齐全,但都没有显示出来。第二个问题是备用DNS如果是空白的话,判断出来的信息竟然是谁也不知道是什么意思的符号,就是图中的“?退???” 呵呵,跟着学习。 6楼的不错,学习了。 不错的方法,借鉴一下 呵呵,学习一下。。 呵呵,学习一下。。
页:
[1]