原帖由 axis000 于 2009-3-12 08:41 发表
刚才发错地方了,现重发一次,见谅!
代码如下:
#include
Opt("GUIOnEventMode", 1) ; 切换为 OnEvent 模式
$mainwindow = GUICreate("测试程序",125,50) ; 创建窗口并返回窗口句柄
GUISetOnEvent($GUI_EVENT_C ...
个人也不是很理解,只能自我解释为:由于是单线程,所以在连续的循环中,au3腾不出手来做第二件事吧。
我的处理办法是在循环中加以额外的退出条件,添补后的代码如下:
#include <GUIConstants.au3>
#Include <Misc.au3>
Opt("GUIOnEventMode", 1) ; 切换为 OnEvent 模式
Global $ta=0
$mainwindow = GUICreate("测试程序",125,50) ; 创建窗口并返回窗口句柄
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") ; 设置窗口关闭事件
$playbutten = GUICtrlCreateButton("开始", 30,12,65)
GUICtrlSetOnEvent($playbutten, "PLAY")
GUISetState(@SW_SHOW)
While 1
Sleep(1000) ; 不做任何事
WEnd
Func PLAY()
While 1
If _IsPressed("1B") Then ;ESC退程序
Exit
EndIf
;不断循环的内容......
$ta+=1
ConsoleWrite($ta&" ")
Sleep(100)
WEnd
EndFunc
Func CLOSEClicked()
Exit
EndFunc
|