一些常用的AHK操作

版权声明:(谢厂节的博客)博主文章绝大部分非原创,转载望留链接。 https://blog.csdn.net/xundh/article/details/51793793

按快键键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是一款类似的自动化软件。

展开阅读全文

没有更多推荐了,返回首页