程序使用了循环之后无法获取窗口消息!
如题。。。程序如下:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("我的程序", 350, 223, 192, 114)
$safe = GUICtrlCreateButton("保护", 211, 192, 59, 25, 0)
$stopsafe = GUICtrlCreateButton("停止", 278, 192, 59, 25, 0)
GUICtrlSetOnEvent($safe,"safe")
GUICtrlSetOnEvent($stopsafe,"stopsafe")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUISetState(@SW_SHOW)
While 1
Sleep(1000)
WEnd
Func CLOSEClicked()
Exit
EndFunc
Func safe()
do
If Not ProcessExists("qq.exe") Then
Run("d:\myqq\qq.exe")
EndIf
Sleep(5000)
$i=0
Until $i=1;不断地执行检测
EndFunc
Func stopsafe()
exitloop;此处为什么不能中断上面的循环?
endfunc
Func stopsafe()
exitloop;此处为什么不能中断上面的循环?要停止上面的循环非要设置热键么?有没其它办法?改成EXIT之后,依然是按停止无法退出程序!如何是好?将until $i=1改成until stopsafe() 程序运行一下就停止了。如果改成until $stopsafe。程序执行一次,不能循环了。。怎么办?望达人们指教……
[ 本帖最后由 半芯蕃茄 于 2009-1-11 01:04 编辑 ] Switch @GUI_CtrlId
是不是因为这个原因? 我也是循环之后跳不出 怎么办啊
我定义了两个BUTTON 第一个BUTTON 下面有一个无限的WHILE循环 然后第二个是一个退出程序的按钮 我先按下第一个按钮之后 第二个就不能被执行了
:face (9): ...exitloop跑到while结构外面能结束循环就神奇了... 我的WHILE无限循环里 有一个很长的SLEEP时间 哎 想尽办法也跳不出来啊
是这个原因吧
$i=0Until $i=1;不断地执行检测
不按第一个保护按钮,直接按第二个可以结束用(exit) ExitLoop不允许在循环结构之外...这种规则很多语言里都是基本通用的...
楼上的都运行试试在下结论吧
[ 本帖最后由 rolaka 于 2009-1-5 23:11 编辑 ] AdlibEnable
解决了 哈哈哈 这个函数很有用
:face (33): 用scite写完直接测试脚本,,,
有语法错误一看都知道...
页:
[1]