AHK 使用笔记

主要用途

  • 热键(hotkey):用来触发操作的按键或组合键,也就是快捷键。
  • 命令:你为某个热键指定的一个动作(action),比如打开程序,打开网页等。
  • 热字串(hotstring):类似于热键,当你输入热字串并按下回车或空格后触发相应的命令。

符号# 表示 Windows 键,#后紧跟着 h 表示组合键。
符号::用来分隔热键和命令(左边是热键,右边是命令)。
Run 命令用来打开一个文件或网页,中间空一个空格。

命令和函数

Command, 参数1, 参数2, 参数3
Function(参数1, 参数2, 参数3)

通过语法来分辨命令和函数. 命令后面的参数无需使用圆括号, 而函数需要使用.

跟函数不同的是, 命令使用 “传统语法”. 这意味着 需要 在变量的前后加上 %, 比如 %Var%. 而文本和数字则不需要加双引号

; 这些是命令
MsgBox, This is some text.
StringReplace, Output, Input, AutoHotKey, AutoHotkey, ALL
SendInput, This is awesome{!}{!}{!}

; 这些是函数
SubStr("I'm scripting, awesome!", 16)
FileExist(VariableContainingPath)
Output:=SubStr("I'm scripting, awesome!", 16)

什么时候要使用百分号:

当你使用命令时(见前文), 参数是输出变量 OutputVar 或输入变量 InputVar 时除外.
当你使用传统模式(等号前面没有其他符号) 给一个变量赋值时.

什么时候不要使用百分号:
参数中的输入或输出变量. 例如: StringLen, OutputVar, InputVar
赋值时左边的变量: 例如: Var = 123abc
在传统 If 语句(不包括表达式) 中, 左边的变量: If Var1 < %Var2%
在表达式中的变量, 例如:

If (Var1 != Var2)
  Var1 := Var2 + 100

赋值符号:==

常用代码片段

; Win--->#
; Shift--->+
; Ctrl--->^
; Alt--->!

; 获取当前时间
^1::send data:%A_YYYY%-%A_MM%-%A_DD% %A_Hour%:%A_Min%:%A_Sec%
;输入法状态设置为英文,以避免影响
IME_SET(0) 

IME_SET(setSts, WinTitle="")
;-----------------------------------------------------------
; IMEの状態をセット
;    対象: AHK v1.0.34以降
;   SetSts  : 1:ON 0:OFF
;   WinTitle: 対象Window (省略時:アクティブウィンドウ)
;   戻り値  1:ON 0:OFF
;-----------------------------------------------------------
{
    ifEqual WinTitle,,  SetEnv,WinTitle,A
    WinGet,hWnd,ID,%WinTitle%
    DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)
    ;Message : WM_IME_CONTROL  wParam:IMC_SETOPENSTATUS
    DetectSave := A_DetectHiddenWindows
    DetectHiddenWindows,ON
    SendMessage 0x283, 0x006,setSts,,ahk_id %DefaultIMEWnd%
    DetectHiddenWindows,%DetectSave%
    Return ErrorLevel
} 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值