使用AutoHotKey

时间:2015-08-16 23:02:49

标签: autohotkey

我正在尝试映射一个键以在两个不同的快捷方式之间切换。目的是在Windows 10中轻松切换桌面(而不必按三个按钮)

我正在尝试的是:

toggle      := false
½:: Toggle = false ? ( ^#Right, Toggle := true ) : ( ^#Left, Toggle := false )

她的脚本运行没有错误,但它不起作用。

有人能给我一个暗示吗?

2 个答案:

答案 0 :(得分:1)

它应该是send ^#Right,但是您不能将额外的命令放入三元运算符中。您只能指定要存储到toggle的值(如图here所示)。

Toggle = false ? ...必须为Toggle := false ? ...,因为右侧是表达式,而不是字符串。

尝试

%::
    toggle := !toggle
    if(toggle)
        send ^#{Right}
    else
        send ^#{Left}
return

我个人无法想到一种更紧凑的做法,你显然希望这样做。

答案 1 :(得分:1)

如果您想使用两个以上的 [键盘快捷键] 来切换,

您可以使用此AHK代码。

Example1.ahk

; [+ = Shift] [! = Alt] [^ = Ctrl] [# = Win] 
#SingleInstance ignore
a := 1 

; If you want to toggle with more the two toggle's you can use this code.
;a = 1   => send {^#Right}
;a = 2   => send {^#Left}
;a = 3   => send {????}

;click the f1 key to toggle 
f1::
if (a=1)
{
Menu, Tray, Icon,c:\icons\32x32\icon1.ico,1,1 ; change tray icon
send {^#Right}
a := 2
}else{

if (a=2)
{
Menu, Tray, Icon,c:\icons\32x32\icon2.ico,1,1 ; change tray icon
send {^#Left}
a := 3
}else{

if (a=3)
{
Menu, Tray, Icon,c:\icons\32x32\icon3.ico,1,1 ; change tray icon
;send {????}
a := 1
}}}
return

esc::exitapp