AHK脚本开头的星号代表什么意思?

15

我试图修改一个我喜欢但不完全理解的 AHK 脚本。

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

这行代码末尾的双冒号是否意味着此行是语句的一部分?它会继续到下一行吗?

*capslock::

1个回答

11
无论是否按下修改键,都会触发热键。

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

我有一种更喜欢的使用 大写锁定 键作为修改键的方法:

;; 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     

对于更现代的 AHK 版本,您需要删除 +NoActivate 中的加号才能使其正常工作。否则,它运行得非常好。谢谢! - joeshmo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接