使用 Enter 按钮提交,而在其他地方正常工作

Use Enter button for submit, while working normally elsewhere

我有一个脚本可以打开一个界面简单的 GUI,用 Esc 关闭,然后通过按钮提交。该脚本始终在后台运行。我正在尝试找到一种方法使 Enter 键作为提交工作,但同时在其他任何地方都可以正常工作。我试过使用 IfWinActive,但它不起作用。有任何想法吗?谢谢! (顺便说一下,有些代码在这种格式下看起来很乱,但是“不必要的细节”在那里,因为这不是完整的脚本。)

Lwin & MButton::
Goto, Start
return


Start:
IfWinNotExist, New
{
    Gui,1:-border
    gui, font, s24, Product Sans  ; Set 10-point Product Sans.
    Gui, Add, Text,, Type here to search:                                      ;controls the UI
    Gui, Add, Edit, vTextInput
    Gui, Add, Button, -WantReturn gSubmit w80, Go
    Gui, Show, w400 h300, New
    IfWinExist, New
    Hotkey, Enter, Submit, On
    return
}
Else
Return

IfWinExist, New
Esc::Gui, Destroy
return

IfWinExist, New
Enter::
Goto, Submit
return



Submit:
Gui, Submit                          ;destroys the UI when submitted
GuiControlGet, TextInput
Gui, Destroy

Else
{
    link = https://www.google.com/search?q= %TextInput%                            ;search google 
    Run, %link%
}

代码看起来真的很恐怖哈哈。
太多遗留的 AHK 或不起作用的东西。但无论如何,无法解决所有问题,因为那不是完整的脚本。

实际问题的答案是让您的按钮成为 default button:

Gui, -Border
Gui, Font, s24, % "Product Sans"
Gui, Add, Text, , % "Type here to search:"
Gui, Add, Edit, vTextInput
Gui, Add, Button, +Default gSubmit w80, % "Go"
Gui, Show, w400 h300, % "New"
return

Submit:
    Gui, Submit
    Run, % "https://www.google.com/search?q=" TextInput
return

当然,您也可以定义自己的热键,就像您尝试的那样,但是上面的方法如此方便,没有理由这样做。