【已解决】求助:网线被拔出后,如何获取网卡地址
本帖最后由 tu0129 于 2013-4-29 10:31 编辑在帮助里和论坛里都没有找到关于网线拔出后如何的到网卡地址的帖子,最多有判断网卡是否被禁用和判断网线是否被拔出的,我知道网线被拔出后使用ipconfig/all命令还能获得网卡地址,请问如何直接使用au3获取呢?
如果直接使用au3无法实现,那用au3运行了DOS命令 ipconfig/all 后 如何能得到该DOS命令下得到的网卡地址呢,希望各位大侠帮忙解决,谢谢#include <Process.au3>
Local $rc = _RunDos("ipconfig/all")
MsgBox(4096, "测试", $rc)
这个代码不对,返回的是 0 本帖最后由 lin6051 于 2013-4-27 21:01 编辑
回复 1# tu0129
@IPAddress1
@IPAddress2
_NetworkAdapterInfo()
_GetAdaptersInfo() 回复 1# tu0129
#include <Constants.au3>
Local $foo,$line,$lines
$foo = Run(@ComSpec & " /c ipconfig /all", @SystemDir, @SW_HIDE, $STDOUT_CHILD)
$lines = ""
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
$lines &= $line
Wend
local $RegReturn = stringregexp($lines,'(\d{2}-\d{2}-\d{2}-\d{2}-\d{2}-\d{2})',1)
if not @error then
MsgBox(0,"test",$RegReturn)
else
MsgBox(0,'test','error')
endif 本帖最后由 tu0129 于 2013-4-27 22:42 编辑
回复 3# xms77
不行啊。返回 error,不是网卡地址 回复 4# tu0129
网线被拔出后ipconfig/all 也只能得到物理地址,也就是mac地址,,和api和wmi得到的一样,可以读取注册表得到ip地址
测试xp sp3 实际上只能读注册表 因为IP在插上网线的时候需要操作系统检验一遍是否有IP冲突 如果有冲突WINDOWS是不会强制设置IP的 回复 3# xms77
多谢3楼,问题已解决,只是你的正则不对!修改下了下就实现了 回复 7# tu0129
呵呵,忘了物理地址可以是字母的了。 为什么不用 Obj呢?那个多简单 本帖最后由 zch11230 于 2013-5-3 11:37 编辑
E? ipconfig /all 在网线拔出的情况下是看不到IP的吧楼主确定可用?
我眼睛瞎了 我以为是要IP 结果是要MAC 看看学了一招
页:
[1]