AutoHotKey - "继续"和"取消"按钮

JBM*_*JBM 1 user-interface autohotkey button

我是AutoHotKey的新手,到目前为止,我认为自己很幸运能够创建一个脚本来自动化窗口中大约90%的数据输入.我现在正试图将其提升一个档次,并在我的数据输入脚本中添加警告/警告GUI.我想暂停正在运行的脚本并打开一个GUI,它会提醒我查看已输入的内容,如果某个特定条目看起来没问题,只需一个按钮即可继续操作,另一个按钮可以转出GUI和如果条目不正确,则为脚本的剩余部分.

这是我提出的一些代码,与一些伪代码混合以帮助显示我想要做的事情.

(Previous data entry script executes to this point)
Stop the script
Gui, New
Gui, Add, Text, 'n Check Authorization Number to be sure it is A1234 (FY 15). ; Wraps text
Gui, Add, Button, Default, Continue
Gui, Add, Button, Quit
Gui, Show, IMPORTANT!
If Continue button is clicked
----Continue with script
If Abort button is clicked
----Close the GUI
----Exit the entire script (Resume where I left off with rest of the data entry script)

我已经阅读了AHK帮助文件并且难以理解如何使这些按钮工作,以及如果我点击继续,如何正确地从GUI返回到脚本,或者如果我发现问题就退出整个事情.我可以调整GUI的大小和按钮位置等内容; 最重要的是获得正确的GUI代码.有人可以帮助代码吗?(我上次的编程课程是在2003年,所以我忘了很多!)

MCL*_*MCL 8

在您的情况下,GUI将是矫枉过正.AHK(以及其他许多语言)为称为消息框的简单用户交互提供标准对话框.
AHK中的消息框可以通过两种方式显示:

  1. MsgBox, This is a simple message. Please click "OK".
  2. MsgBox, 4, Attention, Here`, you can choose between "Yes" and "No".

在第二种情况下,我们声明了一个控制显示按钮的选项.您可以使用IfMsgBox它来检测用户点击的内容:

IfMsgBox, Yes
    MsgBox, 4, Really?, Did you really mean "Yes"?
Run Code Online (Sandbox Code Playgroud)

将这些部分放在一起,我们可以要求用户决定是否要继续,而不需要创建GUI,只需几行:

; Option "1" is "OK/Cancel"
MsgBox, 1, IMPORTANT!,  Check Authorization Number to be sure it is A1234 (FY 15).
IfMsgBox, Cancel
{
    ExitApp
}
; do stuff
Run Code Online (Sandbox Code Playgroud)

此代码也解决了您的其他每个问题:
消息框会暂停当前线程,直到用户解除对话框或超时(如果您明确声明超时).
为了完全停止执行我们的脚本,我们使用ExitApp.