Windows 10 自动热键脚本更改输入语言,如何避免这种情况?

Windows 10 自动热键脚本更改输入语言,如何避免这种情况?,windows-10,autohotkey,Windows 10,Autohotkey,应用时,有机会显示语言栏,甚至更改输入语言。有什么建议吗?虽然我不能确定它为什么会打开语言栏,但本文介绍了如何禁用语言栏的内置热键: 您的代码也可能存在一些小问题。看起来你的大括号之间有空格;Send命令将发送这些空格。当然,我不希望这会导致您遇到的问题 下面是代码的浓缩版本,可能会表现得更好: ; switch between virtual desktops (win10) ; supposed to be launched in initial desktop flag := 0 LAl

应用时,有机会显示语言栏,甚至更改输入语言。有什么建议吗?

虽然我不能确定它为什么会打开语言栏,但本文介绍了如何禁用语言栏的内置热键:

您的代码也可能存在一些小问题。看起来你的大括号之间有空格;Send命令将发送这些空格。当然,我不希望这会导致您遇到的问题

下面是代码的浓缩版本,可能会表现得更好:

; switch between virtual desktops (win10)
; supposed to be launched in initial desktop
flag := 0
LAlt & D::
if(flag = 0){
    send, {Control Down} {LWin Down} {Right} {Control Up} {LWin Up}
    flag := 1
    Return
}
else{
    send, {Control Down} {LWin Down} {Left} {Control Up} {LWin Up}
    flag := 0
    Return
}

下面是一个使用三元运算符的更精简的版本:

<!d::
flag := !flag
If flag
    Send , ^#{right}
Else
    Send , ^#{left}
Return

这是一行:

<!d::
sKeyName := ( flag := !flag ) ? "right" : "left"
Send , ^#{%sKeyName%}
Return

我不知道这一切都可以一概而论,所以今天我学到了一些东西D

<!d::Send , % "^#{" . (( flag := !flag ) ? "right" : "left" ) . "}"