Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1222292
  • 博文数量: 105
  • 博客积分: 127
  • 博客等级: 入伍新兵
  • 技术积分: 962
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-29 15:22
文章分类

全部博文(105)

文章存档

2021年(1)

2019年(3)

2018年(1)

2017年(11)

2016年(47)

2015年(32)

2014年(4)

2012年(6)

我的朋友

分类: 敏捷开发

2015-08-27 10:49:03

                    脚本语言 ahk
ahk 简介
auto hot key 有人翻译成热键

无意中接触到这个脚本语言,发现挺有意思的,特别是对底层软件开发人员,对应用层编程基本上不懂,但有时候却也需要用到。
朋友聊动不动就说,你不是做软件的啊?写一个,这个功能应该好简单啊!尼玛,他们根本不懂,我们是linux 底层码农,windows
上面的应用很难动手,当然也不排除有些牛逼的大神,都懂。接触到这个脚本语言后,发现一切都不再是梦!

一,游戏外挂 ,改键 

b::a
w::up
s::down
a::left
d::right

:: 前面的替换后面的。 up表示向上,还有一些键,也是用符号或者单词来表示
多么简单啊,这就是类似dota改键的一个外挂脚本文件,

二,快捷键打开文件

Run命令用来打开文件
#q::Run C:/Program Files/Tencent/QQ/Bin/QQ.exe
#符号表示windows 键,^符号代表control键(即Ctrl), !符号代表Alt键。
那么上面的语句就打开了QQ,且可以用如下语句:

^!c::Run calc.exe
用Alt+Ctrl+C键可以打开计算器。


三,在工作中组合使用(辅助测试)

ahk还有个很牛逼的功能,可以比较图片与屏幕

点击(此处)折叠或打开

  1. SetKeyDelay 15
  2. SetTitleMatchMode 2
  3. i := 0

  4. Msgbox, , %A_ScriptName%, 程序载入, 0.5

  5. Pause::Pause

  6. ^ESC::
  7. Msgbox, , %A_ScriptName%, 程序退出, 1
  8. ExitApp

  9. ^!A::Reload

  10. ^!V::
  11. Msgbox, , %A_ScriptName%, 测试开始, 1
  12. LOOP
  13. {
  14.     i := i+1
  15.     IfNotExist, tel.txt
  16.     {
  17.         MsgBox, 无法打开tel.txt
  18.         Return
  19.     }
  20.     FileRead, tel, tel.txt
  21.     IfWinNotExist, 超级终端
  22.     {
  23.         MsgBox, 超级终端未打开
  24.         Return
  25.     }
  26.     WinActivate
  27.     WinWaitActive
  28.     WinMaximize
  29.     WinMove, %WinTitle%, , , , 869, 581
  30.     MouseMove, 0, 0
  31.     WinGetActiveStats, Title, Width, Height, X, Y
  32.     Gosub POWER_ON
  33.     Gosub GPRS_TEST
  34.     Gosub CALL_TEST
  35.     Send ./t
  36.     Send {Enter}
  37.     Sleep 100
  38.     Gosub UART1
  39.     Gosub NET0
  40.     Gosub NET1
  41.     Gosub AUDIO
  42.     Gosub LED
  43.     If WD()=0
  44.     {
  45.         break
  46.     }
  47.     Msgbox, , %A_ScriptName%, 请注意观察重启, 10
  48. }
  49. Return

  50. ;*************等待命令行***************
  51. CMD_LINE:
  52. LOOP {
  53.         ImageSearch , , , 0, 0, Height, Width, cmd_line.bmp
  54.         If ErrorLevel = 0
  55.             break
  56.         GetKeyState, state, Ctrl
  57.         If state = D
  58.         {
  59.             GetKeyState, state, Enter
  60.             If state = D
  61.                 break
  62.         }
  63.     }
  64. Return

  65. ;*************等待开机的程序***********
  66. POWER_ON:
  67.     LOOP {
  68.         ImageSearch , , , 0, 0, Height, Width, login.bmp
  69.         If ErrorLevel = 0
  70.             break
  71.         GetKeyState, state, Ctrl
  72.         If state = D
  73.         {
  74.             GetKeyState, state, Enter
  75.             If state = D
  76.                 break
  77.         }
  78.     }
  79.     Sleep 100
  80.     Send root
  81.     Send {Enter}
  82.     Gosub CMD_LINE
  83. Return


  84. ;*************测试GPRS的程序***********
  85. GPRS_TEST:
  86.     Send pppd call gprs{Enter}
  87.     LOOP {
  88.         ImageSearch , , , 0, 0, Height, Width, gprs_ip.bmp
  89.         If ErrorLevel = 0
  90.             break
  91.         GetKeyState, state, Ctrl
  92.         If state = D
  93.         {
  94.             GetKeyState, state, Enter
  95.             If state = D
  96.                 break
  97.         }
  98.     }
  99.     Send ^C
  100.     Gosub CMD_LINE
  101. Return

  102. ;*************测试电话的程序***********
  103. CALL_TEST:
  104.     Send minicom -D /dev/ttySP3 -b 115200{Enter}
  105.     Sleep 1000
  106.     Send atd%tel%`;{Enter}
  107.     Msgbox, , %A_ScriptName%, 等待电话拨号`n请在电话响铃后按Enter继续
  108.     KeyWait, Enter, D
  109.     Sleep 100
  110.     Send ath
  111.     Send {Enter}
  112.     Sleep 100
  113.     Send ^A
  114.     Sleep 100
  115.     Send Q
  116.     Sleep 100
  117.     Send {Enter}
  118.     Gosub CMD_LINE
  119. Return


  120. ;*************测试串口1的程序***********
  121. UART1:
  122.     Sleep 100
  123.     Send 2{Enter}
  124.     LOOP {
  125.         ImageSearch , , , 0, 0, Height, Width, uart.bmp
  126.         If ErrorLevel = 0
  127.             break
  128.         GetKeyState, state, Ctrl
  129.         If state = D
  130.         {
  131.             GetKeyState, state, Enter
  132.             If state = D
  133.                 break
  134.         }
  135.     }
  136. Return
  137. ;*************测试网络0的程序***********
  138. NET0:
  139.     Sleep 500
  140.     Send 4{Enter}
  141.     LOOP {
  142.         ImageSearch , , , 0, 0, Height, Width, net0.bmp
  143.         If ErrorLevel = 0
  144.             break
  145.         GetKeyState, state, Ctrl
  146.         If state = D
  147.         {
  148.             GetKeyState, state, Enter
  149.             If state = D
  150.                 break
  151.         }
  152.     }
  153.     Send ^C
  154. Return
  155. ;*************测试网络0的程序***********
  156. NET1:
  157.     Sleep 500
  158.     Send 5{Enter}
  159.     LOOP {
  160.         ImageSearch , , , 0, 0, Height, Width, net1.bmp
  161.         If ErrorLevel = 0
  162.             break
  163.         GetKeyState, state, Ctrl
  164.         If state = D
  165.         {
  166.             GetKeyState, state, Enter
  167.             If state = D
  168.                 break
  169.         }
  170.     }
  171.     Send ^C
  172. Return
  173. ;*************测试LED的程序***********
  174. LED:
  175.     Sleep 500
  176.     Msgbox, , %A_ScriptName%, 即将测试LED`n请注意确认LED状态`n准备好后按Enter继续
  177.     Sleep 100
  178.     Send 8{Enter}
  179.     Sleep 4000
  180. Return
  181. ;*************测试Audio的程序***********
  182. AUDIO:
  183.     Sleep 500
  184.     Msgbox, , %A_ScriptName%, 即将测试音频`n请准备录音`n准备好后按Enter继续
  185.     Sleep 100
  186.     Send 6{Enter}
  187.     Sleep 9000
  188. Return
  189. ;*************测试看门狗的函数***********
  190. WD()
  191. {
  192.     Sleep 500
  193.     Msgbox,4, %A_ScriptName%, 即将删除测试程序`n必须确定测试通过后按“是”
  194.     IfMsgBox Yes
  195.     {
  196.         Sleep 100
  197.         Send 9{Enter}
  198.         Sleep 100
  199.         Return 1
  200.     }
  201.     else
  202.     {
  203.         Msgbox, , %A_ScriptName%, 测试已退出`n需要重新按启动键
  204.         Return 0
  205.     }
  206. }
.rar

阅读(5311) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~