本人写有如下代码:
Func unclock()
Run("unclock.bat")
WinWaitActive("RegSvr32")
Send("{ENTER}")
WinWaitActive("RegSvr32")
Send("{ENTER}")
WinWaitActive("RegSvr32")
Send("{ENTER}")
Call("qy")
EndFunc ;==>unclock
大意是执行一个BAT文件,将网络连接解锁。执行.bat时会出现一个CMD窗口,等待DLL文件注册成功后弹出的确认窗口自动点击确定。运行正常。
当改为:
Func unclock()
_RunDOS("regsvr32 netcfgx.dll")
问题出现在这
WinWaitActive("RegSvr32")
Send("{ENTER}")
_RunDOS("regsvr32 netshell.dll")
WinWaitActive("RegSvr32")
Send("{ENTER}")
_RunDOS("regsvr32 netman.dll")
WinWaitActive("RegSvr32")
Send("{ENTER}")
Call("qy")
EndFunc ;==>unclock
这样改后的一个效果是不会出现讨厌的CMD窗口了,但是,在执行完第一个DLL注册(一共3个),弹出第一个注册成功的提示窗口后就死在这了,现象表现为没有检测到注册成功的提示窗口自动点击确定,这时候用手动点击确定后,提示窗口会正常消失,但也没有执行第2个DLL的注册动作了。请教高手是我的语法用错了,还是存在什么别的原因呢?
[ 本帖最后由 ahphsautoit 于 2009-3-30 08:19 编辑 ] |