dnvplj 发表于 2010-7-15 18:56:06

如何用AU3编写脚本调用(TCP/IP)属性

请问各位朋友:如何用AU3编写脚本调用(TCP/IP)属性。如下图:

410521a 发表于 2010-7-15 19:37:38

只接读取注册表

dnvplj 发表于 2010-7-15 19:47:48

怎样才能,读取注册表。本人不会,所以才请教?

netegg 发表于 2010-7-15 20:37:43

$netcard = RegEnumKey($CCS & "Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}", 2)
$CCS & "Services\Tcpip\Parameters\Interfaces\" & $netcard
全在里面了

410521a 发表于 2010-7-15 20:40:30

regread    看看帮助,帮助里边写的很清楚

dnvplj 发表于 2010-7-15 20:41:48

本帖最后由 dnvplj 于 2010-7-15 20:44 编辑

运行脚本时提示错误:

D:\444\744.au3(1,28) : WARNING: $CCS: 使用前并未进行声明.
$netcard = RegEnumKey($CCS &
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
D:\444\744.au3(2,6) : 错误: 表达式错误
$CCS &
~~~~~^
D:\444\744.au3(1,28) : ERROR: $CCS: 未声明的全局变量.
$netcard = RegEnumKey($CCS &
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
D:\444\744.au3 - 2 error(s), 1 warning(s)

410521a 发表于 2010-7-15 20:55:32

本帖最后由 410521a 于 2010-7-15 20:57 编辑

回复 6# dnvplj


    汗,大哥`你先看看帮助行不`,,,人家那个$ccs是变量``

也不看看直接抄来就用!!

netegg 发表于 2010-7-15 20:56:21

$CCS = "HKLM\SYSTEM\CurrentControlSet\"

dnvplj 发表于 2010-7-15 22:10:33

各位朋友,本人是个菜鸟,请不懂。请帮忙给整个现成的“脚本”?多谢了

ferelove 发表于 2010-7-15 22:38:47

本帖最后由 ferelove 于 2010-7-15 22:49 编辑

注册表里HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\下有些{xxxxxxxx}的未知个分支,这些全是网卡信息,使用RegEnumKey、RegRead并结合for循环就可以将所有网卡信息都弄到一个二维数组里。
先去研究一下这些注册表,给些参考:
键IPAddress对应是IP地址
键SubnetMask对应是子网掩码

偶也曾经做过伸手党、急于求成的时候:)
简单示例一下,见笑了。#include <Array.au3>
$AdaptersInfo = _RegNetworkAdapterInfo()
_ArrayDisplay($AdaptersInfo)

Func _RegNetworkAdapterInfo()
        Local $AdaptersInfo
        $AdaptersInfo = 0
        For $i = 1 To 50
                $Adapters = RegEnumKey("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces", $i)
                If @error <> 0 Then ExitLoop
                $IPAddress = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & $Adapters, "IPAddress") ;静态IP的地址
                $SubnetMask = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & $Adapters, "SubnetMask") ;静态IP的子网掩码
                $AdaptersInfo += 1 ;网卡的数量
                ReDim $AdaptersInfo
                $AdaptersInfo[$AdaptersInfo] += $AdaptersInfo ;网卡的数量
                $AdaptersInfo[$AdaptersInfo] = $IPAddress ;IP的地址
                $AdaptersInfo[$AdaptersInfo] = $SubnetMask ;IP的掩码
        Next
        Return $AdaptersInfo
EndFunc   ;==>_RegNetworkAdapterInfo

dnvplj 发表于 2010-7-19 22:57:15

不管用,又出来一个对话框。如下图:

qqmmcc 发表于 2010-7-20 02:02:07

我是来学习这个问题的

netegg 发表于 2010-7-20 04:56:04

本帖最后由 netegg 于 2010-7-20 05:00 编辑

$ccs里的注册表项中当前使用的网卡和其他网卡在注册表键值是不一样的,对比一下就行了
说个简单的,一般的在未设置dns前,检查NameServer值,如果存在但没有数据,那么是当前使用的,如果不存在,肯定不是使用中的网卡,其他的自己对比吧,什么乱七八糟T1,T2,分一下就可以了

dnvplj 发表于 2010-7-20 19:30:21

10楼的朋友看到了吗,乱七八糟的,重整一个?

dnvplj 发表于 2010-7-22 17:55:59

各位朋友误会了,不是填写IP、子网掩码等项,只要把(TCP/IP)属性对话框调出来就行。
页: [1] 2
查看完整版本: 如何用AU3编写脚本调用(TCP/IP)属性