原帖由 yoyoscan 于 2009-2-21 09:56 发表
大家帮帮我,网吧做完系统后发现没有安装IPX协议,谁能帮我用au3写个自动安装IPX协议的工具,最好能分享源码。
经测试基本可以使用, 就是判断写得不够准确, 部分代码请结合实际情况自己修改:
;脚本开始 - 请在这下面添加您的代码:
;=============== 每次只能运行一个程序 =================
$Title = 'GotoInternet' ;预设一个标题
If WinExists($Title) Then ;如果带有这个标题的窗口已经存在, 则转到 OhNo 自定义函数模块
OhNo() ;转到自定义函数语句
EndIf ;结束以上的 If 判断
AutoItWinSetTitle($Title) ;调用 AutoItWinSetTitle() 设置窗口标题函数
Func OhNo() ;自定义函数模块
MsgBox(64 + 262144,'老大, 请注意此消息: 貌似本程序已经运行了!','貌似本程序已经运行了, 请查看任务栏系统托盘最左边的图标, 这就退出...',5) ;对话框提示, 延时 5 秒 (可以用气泡函数 TrayTip() 提示)
Exit ;退出
EndFunc ;自定义函数模块结束
;===================================================
Opt('WinTitleMatchMode',4)
;Opt('WinWaitDelay',25)
Opt("SendKeyDelay", 15)
;Opt("MouseClickDelay", 1)
Opt("TrayIconDebug", 1)
;$CardCtrl = @SystemDir & '\DevCon32.eXe' ;如需启用自动激活网卡功能, 请在脚本目录放一个 DevCon32.eXe 程序(此程序可在网卡找, 有 32 / 64 位两种版本)
;FileInstall('DevCon32.eXe'',$CardCtrl,1)
;RunWait($CardCtrl&' Enable =Net PCI\*','',@Sw_Hide) ;如果网卡当前的状态已被禁用, 此行代码可激活之
If WinExists('网络连接','网络连接') Then WinClose('网络连接','网络连接')
;ShellExecute('::{7007ACC7-3202-11D1-AAD2-00805FC1270E}')
RegWrite('Hkcr\Folder\Shell','','Reg_Sz','') ;取消用 "资源管理器" 方式浏览窗口:
Run(@ComSpec & ' /C Ncpa.cpl','',@Sw_Hide) ;打开 "网络连接" 窗口
WinWait('网络连接','网络连接')
WinSetState('网络连接','网络连接',@Sw_ShowMaxiMized)
WinActivate('网络连接','网络连接')
ControlListView ( "网络连接", "",'SysListView321', "Select",0)
$linkName = ControlListView ( "网络连接", "",'SysListView321', "GetText",0)
If $linkName <> '本地连接' Then
MsgBox(48+262144,'','')
Exit
Else
Send('+{F10}')
Send('R')
WinWait($linkName&' 属性','')
WinActivate($linkName&' 属性','')
Send('{Down 4}')
; Send('{Down 8}') ;如果已安装的网络其他协议不止 4 项, 则启用此行代码或直接修改数值...
WinActivate($linkName&' 属性','')
ControlClick($linkName&' 属性','','Button2')
; Send('N') ;如果 "安装(N)按钮" 的控件名称不是 Button2 则启用此行代码...
WinWait('选择网络组件类型','')
WinActivate('选择网络组件类型','')
Send('{Down 2}') ;按说只需按两下就可以选中 "协议" 选项了(总共 3 项)...
WinActivate('选择网络组件类型','')
ControlClick('选择网络组件类型','','Button1')
If ProcessExists('Thunder5.eXe') Then ProcessClose('Thunder5.eXe')
; Send('!A') ;如果此时 "迅雷5" 程序仍在运行, 此行代码将可能失效, 因为此组合键激活了迅雷的截图热键...
WinWait('选择网络协议','')
WinActivate('选择网络协议','')
ControlClick('选择网络协议','','SysListView321')
WinActivate('选择网络协议','')
Send('{Down}')
WinActivate('选择网络协议','')
Send('{Tab}')
WinActivate('选择网络协议','')
Send('{Down 2}')
ControlClick('选择网络协议','','Button4')
WinWaitClose('选择网络组件类型','',500)
If Not WinActivate($linkName&' 属性','') Then WinActivate($linkName&' 属性','')
ControlClick($linkName&' 属性','','SysListView321')
Send('{Down 8}') ;此行代码的主要目的是选择列表框中的最下边个 "ICP/IP" 协议...
WinActivate($linkName&' 属性','')
Send('{Up}') ;在上一步的基础上倒回一次, 即按一下 "↑"(向上箭头), 目的是选择 IPX 协议
MsgBox(64+262144,'OK, Ipx 协议已经安装完毕!','OK, Ipx 协议至此已经顺利地安装结束了!',3)
EndIf
[ 本帖最后由 ahkang 于 2009-3-23 17:51 编辑 ] |