Autohotkey AHK GUI不工作
我使用下面的AHK脚本弹出带有复选框的屏幕。我的想法是,当我选中复选框时,它应该打开一个文件夹。它对第一个有效,但当我检查第二个时,什么都没有发生。你知道我的代码有什么问题吗Autohotkey AHK GUI不工作,autohotkey,Autohotkey,我使用下面的AHK脚本弹出带有复选框的屏幕。我的想法是,当我选中复选框时,它应该打开一个文件夹。它对第一个有效,但当我检查第二个时,什么都没有发生。你知道我的代码有什么问题吗 Gui, Add, Checkbox, vOpen, Open Bedrijfsbureau Gui, Add, Checkbox, vOpen2, Open Gui, Add, Button, Default gButtonGo, Go Gui, Show, w500 h300, Products Return
Gui, Add, Checkbox, vOpen, Open Bedrijfsbureau
Gui, Add, Checkbox, vOpen2, Open
Gui, Add, Button, Default gButtonGo, Go
Gui, Show, w500 h300, Products
Return
ButtonGo:
Gui, Submit
Gui, Destroy
If Open = 1
Run "X:\SSC_HR\SENS\Bedrijfsbureau"
Return
If Open2 = 1
Run "X:\SSC_HR\SENS\Bedrijfsbureau\Dimensioneren"
Return
GUIClose:
Gui, Destroy
使用不带花括号的
if
语句时,if语句只读取以下行
这意味着当您这样做时:
If Open = 1
Run "X:\SSC_HR\SENS\Bedrijfsbureau"
Return
…节目结束了。if语句执行run命令,返回
,无论发生什么情况,都会得到处理
因此,如果需要多行,请尝试以下方法:
If(Open = 1){
Run "X:\SSC_HR\SENS\Bedrijfsbureau"
Return
}
而且,无论如何都不会发生任何事情!首先,当您选中该复选框时,您没有子项来处理该复选框。换句话说,当您单击复选框时,不应该发生任何事情。所以,我想你只想在按下“开始”按钮时发生事情
这很好,但是go按钮做了两件事:它获取复选框的值,然后退出GUI---->这就是程序无法工作的原因
您想这样做,请改为:
Gui, Add, Checkbox, vOpen, Open Bedrijfsbureau
Gui, Add, Checkbox, vOpen2, Open
Gui, Add, Button, Default gButtonGo, Go
Gui, Show, w500 h300, Products
Return
ButtonGo:
;fetch the value of the checkbox variables
Gui, Submit
If Open = 1
Run "X:\SSC_HR\SENS\Bedrijfsbureau"
If Open2 = 1
Run "X:\SSC_HR\SENS\Bedrijfsbureau\Dimensioneren"
;Now, if you want the gui to close after the actions are complete, then uncomment the next line - if you want the gui to remain, then don't uncomment it.
;Gui, Destroy
RETURN
GUIClose:
Gui, Destroy
最后,在这个场景中,您可以执行一个或两个checkbox命令。如果您只需要其中一个,则应使用单选按钮
对于运行主功能的热键:
#x::
gosub, ButtonGo
return
如果希望热键打开GUI,则需要将GUI封装在gosub中并更改热键的命令。BGM,太棒了。谢谢还有一个问题,如果我想用快捷方式运行这个程序,我应该添加什么?我试着在它前面加上::#x,但效果不好,你已经把命令倒过来了——你应该阅读文档中的热键,你知道。我会把它添加到你的答案中。