2012-04-26 162 views
7

我试图修改一个我喜欢的AHK脚本,但不完全理解。星号在AHK脚本的开头是什么意思?

这行脚本开头的星号是什么意思?

*capslock::

是否在最后一对冒号的意思是,这行是声明中的一部分?它继续到下一行吗?

+2

请用一点点克制,只使用有意义的关键字。像“冒号”这样的关键字只有在你正在研究解剖学时才有意义,而作为标记的“星号”在这里有着完全不同的含义。 :)认真地说,'冒号'和'星号'不是有用的关键字; 'autohotkey'和'syntax'足​​以让人们知道你在问什么。谢谢。 :) – 2012-04-26 19:16:33

+1

+1上的星号指导!谢谢。我当然也会考虑下一次我在SO上提出解剖问题时的结肠指引。 – lance 2012-04-27 00:17:01

回答

4

无论修饰符被按下,都会触发热键。

http://www.autohotkey.com/docs/Hotkeys.htm

通配符:火,即使被按住的额外修饰的热键。这通常与重新映射键或按钮一起使用。例如:

Win + C,Shift + Win + C,Ctrl + Win + C等都会触发这个热键。

*#c::Run Calc.exe

即使修改键已关闭,按Scrolllock将触发此热键。

*ScrollLock::Run Notepad

编辑: 嗯,没有看到第二部分。

如果您只有一条语句,则将它全部放在上面的一行中。如果您有多条语句,则必须在::之后放置一个换行符,最后输入return

#w:: MsgBox "Windows+W FTW" 
#q:: 
    MsgBox "Windows+Q FTW" 
    MsgBox "Another annoying message box!" 
    return 

我必须使用capslock键,我更喜欢一个修正的一种方式:

 
    ;; make capslock a modifier, make shift-capslock a true capslock 
    setcapslockstate, OFF ;SetCapsLockState, alwaysoff 

    $*Capslock:: ; $ means that the hotkey code shouldn't trigger its own hotkey 
     Gui, 99:+ToolWindow 
     Gui, 99:Show, x-1 w1 +NoActivate, Capslock Is Down 
     keywait, Capslock 
     Gui, 99:Destroy 
     return 

    ; Made a window show up when the capslock is pressed. 

    ; Now, if that hidden windown is there, do anything you like 
    #IfWinExist, Capslock Is Down 
     j::Left 
     k::Right 
     i::Up 
     m::Down 
    #IfWinExist 

    ; Oh, by the way, right-alt and capslock works like real capslock 
    ralt & Capslock:: 
     GetKeyState, capstate, Capslock, T 
     if capstate = U 
     { 
     SetCapsLockState, on 
     } else { 
     SetCapsLockState, off 
     } 
     return