脚本语言 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还有个很牛逼的功能,可以比较图片与屏幕
-
SetKeyDelay 15
-
SetTitleMatchMode 2
-
i := 0
-
-
Msgbox, , %A_ScriptName%, 程序载入, 0.5
-
-
Pause::Pause
-
-
^ESC::
-
Msgbox, , %A_ScriptName%, 程序退出, 1
-
ExitApp
-
-
^!A::Reload
-
-
^!V::
-
Msgbox, , %A_ScriptName%, 测试开始, 1
-
LOOP
-
{
-
i := i+1
-
IfNotExist, tel.txt
-
{
-
MsgBox, 无法打开tel.txt
-
Return
-
}
-
FileRead, tel, tel.txt
-
IfWinNotExist, 超级终端
-
{
-
MsgBox, 超级终端未打开
-
Return
-
}
-
WinActivate
-
WinWaitActive
-
WinMaximize
-
WinMove, %WinTitle%, , , , 869, 581
-
MouseMove, 0, 0
-
WinGetActiveStats, Title, Width, Height, X, Y
-
Gosub POWER_ON
-
Gosub GPRS_TEST
-
Gosub CALL_TEST
-
Send ./t
-
Send {Enter}
-
Sleep 100
-
Gosub UART1
-
Gosub NET0
-
Gosub NET1
-
Gosub AUDIO
-
Gosub LED
-
If WD()=0
-
{
-
break
-
}
-
Msgbox, , %A_ScriptName%, 请注意观察重启, 10
-
}
-
Return
-
-
;*************等待命令行***************
-
CMD_LINE:
-
LOOP {
-
ImageSearch , , , 0, 0, Height, Width, cmd_line.bmp
-
If ErrorLevel = 0
-
break
-
GetKeyState, state, Ctrl
-
If state = D
-
{
-
GetKeyState, state, Enter
-
If state = D
-
break
-
}
-
}
-
Return
-
-
;*************等待开机的程序***********
-
POWER_ON:
-
LOOP {
-
ImageSearch , , , 0, 0, Height, Width, login.bmp
-
If ErrorLevel = 0
-
break
-
GetKeyState, state, Ctrl
-
If state = D
-
{
-
GetKeyState, state, Enter
-
If state = D
-
break
-
}
-
}
-
Sleep 100
-
Send root
-
Send {Enter}
-
Gosub CMD_LINE
-
Return
-
-
-
;*************测试GPRS的程序***********
-
GPRS_TEST:
-
Send pppd call gprs{Enter}
-
LOOP {
-
ImageSearch , , , 0, 0, Height, Width, gprs_ip.bmp
-
If ErrorLevel = 0
-
break
-
GetKeyState, state, Ctrl
-
If state = D
-
{
-
GetKeyState, state, Enter
-
If state = D
-
break
-
}
-
}
-
Send ^C
-
Gosub CMD_LINE
-
Return
-
-
;*************测试电话的程序***********
-
CALL_TEST:
-
Send minicom -D /dev/ttySP3 -b 115200{Enter}
-
Sleep 1000
-
Send atd%tel%`;{Enter}
-
Msgbox, , %A_ScriptName%, 等待电话拨号`n请在电话响铃后按Enter继续
-
KeyWait, Enter, D
-
Sleep 100
-
Send ath
-
Send {Enter}
-
Sleep 100
-
Send ^A
-
Sleep 100
-
Send Q
-
Sleep 100
-
Send {Enter}
-
Gosub CMD_LINE
-
Return
-
-
-
;*************测试串口1的程序***********
-
UART1:
-
Sleep 100
-
Send 2{Enter}
-
LOOP {
-
ImageSearch , , , 0, 0, Height, Width, uart.bmp
-
If ErrorLevel = 0
-
break
-
GetKeyState, state, Ctrl
-
If state = D
-
{
-
GetKeyState, state, Enter
-
If state = D
-
break
-
}
-
}
-
Return
-
;*************测试网络0的程序***********
-
NET0:
-
Sleep 500
-
Send 4{Enter}
-
LOOP {
-
ImageSearch , , , 0, 0, Height, Width, net0.bmp
-
If ErrorLevel = 0
-
break
-
GetKeyState, state, Ctrl
-
If state = D
-
{
-
GetKeyState, state, Enter
-
If state = D
-
break
-
}
-
}
-
Send ^C
-
Return
-
;*************测试网络0的程序***********
-
NET1:
-
Sleep 500
-
Send 5{Enter}
-
LOOP {
-
ImageSearch , , , 0, 0, Height, Width, net1.bmp
-
If ErrorLevel = 0
-
break
-
GetKeyState, state, Ctrl
-
If state = D
-
{
-
GetKeyState, state, Enter
-
If state = D
-
break
-
}
-
}
-
Send ^C
-
Return
-
;*************测试LED的程序***********
-
LED:
-
Sleep 500
-
Msgbox, , %A_ScriptName%, 即将测试LED`n请注意确认LED状态`n准备好后按Enter继续
-
Sleep 100
-
Send 8{Enter}
-
Sleep 4000
-
Return
-
;*************测试Audio的程序***********
-
AUDIO:
-
Sleep 500
-
Msgbox, , %A_ScriptName%, 即将测试音频`n请准备录音`n准备好后按Enter继续
-
Sleep 100
-
Send 6{Enter}
-
Sleep 9000
-
Return
-
;*************测试看门狗的函数***********
-
WD()
-
{
-
Sleep 500
-
Msgbox,4, %A_ScriptName%, 即将删除测试程序`n必须确定测试通过后按“是”
-
IfMsgBox Yes
-
{
-
Sleep 100
-
Send 9{Enter}
-
Sleep 100
-
Return 1
-
}
-
else
-
{
-
Msgbox, , %A_ScriptName%, 测试已退出`n需要重新按启动键
-
Return 0
-
}
-
}
.rar
阅读(5387) | 评论(0) | 转发(0) |