按快键键alt+1,执行某个程序
#1::
run D:\Documents\test.bat
return
快捷键ctrl+alt+1,执行某个程序
!#1::
run notepad.exe
return
按快捷键模拟输入按键
!E::
Send, {CTRLDOWN}x{CTRLUP}
Send, <tr>
Send,{CTRLDOWN}v{CTRLUP}
;Send , </td> 这是注释
return
按快键键,在QQ窗口输入文字
!o::
WinWait, C语言 SDK API QT交流群,
IfWinNotActive, C语言 SDK API QT交流群, , WinActivate, C语言 SDK API QT交流群,
WinWaitActive, C语言 SDK API QT交流群,
MouseClick, left, 292, 423
Sleep, 100
Send, a{SHIFTDOWN}{SHIFTUP}bc
return
向粘贴反复制字符,模拟粘贴操作
^!8::
clipboard =eGbb46sB
Send ^v
Return
AHK打开cmd到指定的文件夹
^!o::
Run , cmd /K cd /D d:\Documents\
return
Send 中文
详细的参考:http://blog.csdn.net/liuyukuan/article/details/5958679
#NoEnv
SetKeyDelay, 20 ; 如因速度过快导致发送不正常请尝试修改此行的延迟数值
SendMode InputThenPlay ; 如因速度过快导致发送不正常请则注释此行或改为其它模式
SetWorkingDir %A_ScriptDir%
^,::
SendString( "中文" )
Return
SendString( string )
{
Len := StrLen(string) ; 得到字符串的长度,注意一个中文字符的长度是2,即占2个字节
Keys := "" ; 将要发送的字符序列
Index := 1 ; 用于循环
Loop
{
IsUnicodeChar := false
Code2 := 0 ; 字符2的ASCII码
Code1 := Asc( SubStr(string, Index, 1) ) ; 得到第一个字符的ASCII值
if(Code1 >= 129 && Code1 <= 254 && Index < Len) ; 判断是否中文字符的第一个字符
{
Code2 := Asc( SubStr(string, Index+1, 1) ) ; 得到第二个字符的ASCII值
if(Code2 >= 64 && Code2 <= 254) ; 若条件成立则说明是中文字符
{
IsUnicodeChar := true
Code1 <<= 8 ; 第一个字符应放到高8位上
Code1 += Code2 ; 第二个字符放在低8位上
}
++Index
}
if( IsUnicodeChar )
Keys .= "{ASC " . Code1 . "}"
else
{
Keys .= "{ASC 0" . Code1 . "}" ; 如果非中文字符,则需要前缀一个0
if( Code2 > 0 )
Keys .= "{ASC 0" . Code2 . "}"
}
++Index
if(Index > Len)
Break
}
Send %Keys%
}
AU3是一款类似的自动化软件。
- 这一篇文章介绍的更为详细
https://zhuanlan.zhihu.com/p/19792473 - 这里是C#调用autohotkey.dll
http://irisclasson.com/2015/01/06/using-autohotkey-dll-with-c-in-a-wpf-application/ - 这一篇是C调用autohotkey.dll的
http://blog.csdn.net/liuyukuan/article/details/5949727