求助我做了一个按键循环AU3,如何制定退出机制。
程序基本上是依据一个ini中的数据,来循环执行一个操作第三方程序的按键模拟AU3。但是现在的问题是如何让用户随时退出这个循环按键?我的想法就是不能让这个循环中途中断,但是如何在循环中按几个按键或者组合键之类的就在下一次循环开始时结束这个循环? 理解能力差,不明白楼主的意思。 注册快捷键 回复 3# republican
请问有没有例子?来个连接~~ 回复 2# tryhi
这样,再简单点说就是一个循环.如何让循环结束.是结束不是忽然中断.那就是让这个循环到一次循环完成后在中断. ExitLoop ;退出循环
ContinueLoop ;跳过循环 帮助文件中,HotKeySet里有一个例子; Press Esc to terminate script, Pause/Break to "pause"
Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
HotKeySet("+!d", "ShowMessage");Shift-Alt-d
;;;; Body of program would go here ;;;;
While 1
Sleep(100)
WEnd
;;;;;;;;
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("")
EndFunc
Func Terminate()
Exit 0
EndFunc
Func ShowMessage()
MsgBox(4096,"","This is a message.")
EndFunc
回复 1# ac5474012
二重循环可解决HotKeySet("{ESC}", "Terminate");定义退出热键
Local $n;定义退出标志
While 1
For $i = 1 To 100;循环代码
ToolTip($i)
Sleep(100)
Next;完成一个循环
If $n = 1 Then ExitLoop;判断退出标志
WEnd
Func Terminate()
$n = 1;定义退出标志
EndFunc ;==>Terminate 貌似用hotkey比较容易实现吧 学习了,收藏下 定义热键应该可以解决的。
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("CTRL + Q 本次循环结束后退出", 330, 260, -1, -1)
$Label1 = GUICtrlCreateLabel("9", 1, 1, 120, 240)
GUICtrlSetFont(-1, 200, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
dim $t = 0
HotKeySet("^q", "quit") ;;CTRL + Q 本次循环结束后退出
$s = 9
GUISetOnEvent($GUI_EVENT_CLOSE, "quitt")
Opt("GUIOnEventMode", 1)
While 1
sleep(1000)
GUICtrlSetData($Label1,$s - 1)
$s = $s - 1
if $s = 0 then
if $t = 1 then quitt()
$s = 10
endif
WEnd
func quit()
$t = 1
endfunc
func quitt()
exit
endfunc
页:
[1]