找回密码
 加入
搜索
查看: 5063|回复: 10

[AU3基础] 【已解决】求助:网线被拔出后,如何获取网卡地址

 火.. [复制链接]
发表于 2013-4-27 12:39:02 | 显示全部楼层 |阅读模式
本帖最后由 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
发表于 2013-4-27 20:31:26 | 显示全部楼层
本帖最后由 lin6051 于 2013-4-27 21:01 编辑

回复 1# tu0129


@IPAddress1
@IPAddress2

_NetworkAdapterInfo()
_GetAdaptersInfo()
发表于 2013-4-27 22:15:11 | 显示全部楼层
回复 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[0])
else
   MsgBox(0,'test','error')
endif
 楼主| 发表于 2013-4-27 22:40:50 | 显示全部楼层
本帖最后由 tu0129 于 2013-4-27 22:42 编辑

回复 3# xms77
不行啊。返回 error,不是网卡地址
发表于 2013-4-28 12:13:04 | 显示全部楼层
回复 4# tu0129


    网线被拔出后  ipconfig/all 也只能得到物理地址,也就是mac地址,,和api和wmi得到的一样,可以读取注册表得到ip地址
测试xp sp3
发表于 2013-4-28 13:34:31 | 显示全部楼层
实际上只能读注册表 因为IP在插上网线的时候需要操作系统检验一遍是否有IP冲突 如果有冲突WINDOWS是不会强制设置IP的
 楼主| 发表于 2013-4-29 10:30:01 | 显示全部楼层
回复 3# xms77


    多谢3楼,问题已解决,只是你的正则不对!修改下了下就实现了
发表于 2013-4-29 12:44:25 | 显示全部楼层
回复 7# tu0129
呵呵,忘了物理地址可以是字母的了。
发表于 2013-5-2 19:54:06 | 显示全部楼层
为什么不用 Obj呢?那个多简单
发表于 2013-5-3 11:32:32 | 显示全部楼层
本帖最后由 zch11230 于 2013-5-3 11:37 编辑

E? ipconfig /all 在网线拔出的情况下是看不到IP的吧  楼主确定可用?

我眼睛瞎了 我以为是要IP 结果是要MAC
发表于 2013-5-29 11:24:50 | 显示全部楼层
看看  学了一招
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 18:27 , Processed in 0.074996 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表