13

我正在尝试修改我喜欢但不太完全理解的 AHK 脚本。

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

*capslock::

最后的一对冒号是否意味着这一行只是语句的一部分?它是否继续到下一行?

4

1 回答 1

9

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

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

通配符:即使按下了额外的修饰符,也会触发热键。这通常与重新映射键或按钮一起使用。例如:

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

*#c::运行 Calc.exe  

即使修改键按下,按下 Scrolllock 也会触发此热键。

*ScrollLock::运行记事本

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

如果您只有一个语句,则将其全部放在上面的一行中。如果您有多个语句,则必须在 the 之后添加一个换行符,::return在末尾添加 a。

#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     
于 2012-04-26T17:57:10.487 回答