找回密码
 加入
搜索
查看: 1686|回复: 8

au3执行按钮后程序无反应

  [复制链接]
发表于 2009-11-15 10:05:55 | 显示全部楼层 |阅读模式
本帖最后由 phenix 于 2009-11-16 16:41 编辑
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ###
$Form1_1 = GUICreate("远程连接工具V1.0", 568, 299, 292, 127)
$Input1 = GUICtrlCreateInput("", 96, 30, 49, 21)
$Button1 = GUICtrlCreateButton("Auto", 472, 28, 51, 25, 0)
$Label1 = GUICtrlCreateLabel("连接", 32, 32, 35, 17)


$Input2 = GUICtrlCreateInput("", 96, 94, 49, 21)
$Label2 = GUICtrlCreateLabel("连接", 32, 96, 35, 17)
$Input3 = GUICtrlCreateInput("4899", 280, 94, 41, 21)
$Label3 = GUICtrlCreateLabel("port", 192, 96, 22, 17)
$Button2 = GUICtrlCreateButton("Manual", 472, 92, 51, 25, 0)

GUISetState(@SW_SHOW)
GUISetBkColor (0xe6e6fa) ;背景颜色
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                
                Case $Button1
                        Run("radmin.exe /connect:" & GUICtrlRead($Input1)  & ":4899")
                        If WinWaitActive("输入密码") Then
                                Send("*********")
                                Send("{ENTER}")
                        EndIf
                        
                Case $Button2
                        Run("radmin.exe /connect:" &  GUICtrlRead($Input2) & ":" & GUICtrlRead($Input3))
                        
        Case $GUI_EVENT_CLOSE 
                Exit
        EndSwitch
WEnd
这个是用来连接远程服务器的小工具。
但是出现一个问题,
按第一个按钮,如果是正确的服务器、端口进行连接,这个窗口没问题,但是服务器或者端口错误输入,会提示radmin的错误连接信息,然后点击第一个按钮,第二个按钮,以及关闭窗口都没有任何反应,只能用退出脚本的方法;
按第二个按钮,服务器或者端口输入错误,也会提示radmin的错误连接信息,但此时窗口中的按钮,以及关闭窗口都是可以的
请教各位,怎样让第一个按钮能在错误的情况下继续操作其他按钮



原因是在
If WinWaitActive("输入密码") Then
Send("*********")
Send("{ENTER}")
这个地方如果出错,WinWaitActive进程一直就在等待不释放,改为
If WinWaitActive("输入密码","",3) Then
Send("*********")
Send("{ENTER}")
就可以了
发表于 2009-11-15 10:17:34 | 显示全部楼层
Run("radmin.exe /connect:" & GUICtrlRead($Input1)  & ":4899")这一句有点问题
 楼主| 发表于 2009-11-15 10:49:59 | 显示全部楼层
Run("radmin.exe /connect:" & GUICtrlRead($Input1)  & ":4899")这一句有点问题
xz00311 发表于 2009-11-15 10:17


请问一下,这句哪里有问题的?服务器设置对的话,默认端口是4899,然后就可以自动连接了,但是一旦服务器设置错误,按钮,关闭都没反应了
发表于 2009-11-15 11:14:00 | 显示全部楼层
加一段错误返回试试,另外,你这个是指检查一次吗,按了一之后还操作不操作二,如果还有操作,这么写肯定不行
 楼主| 发表于 2009-11-15 11:23:05 | 显示全部楼层
恩,是要继续操作的,那怎么写后面的呢?才学习这个,不太会。
发表于 2009-11-15 20:52:09 | 显示全部楼层
If run = 0 then ExitLoop     是不是这样,试试看。。。。。。。。。。。
 楼主| 发表于 2009-11-15 21:49:56 | 显示全部楼层
还是不行,错误的话,还是不能操作按钮及关闭

好像问题就是在第一个按钮的if语句不能释放,
第二个按钮错误却能继续下去
发表于 2009-11-15 22:26:28 | 显示全部楼层
你在 Case $Button1 里的 Endif 后面加一句 msgbox(0,0,0) 就知道是否执行完毕了
 楼主| 发表于 2009-11-16 09:37:47 | 显示全部楼层
只有正确配置服务器,能连接的,才能把if中的执行完
如果提示错误,程序就不能继续运行了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 14:55 , Processed in 0.077771 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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