AutoHotkey 是一款免费的、Windows平台下开放源代码的热键脚本语言,是为游戏操纵杆和鼠标创建的热键,是自动按键。也可以通过命令调用系统接口及程序,并创建基于简单语言的图形化界面的执行程序。AutoHotkey是一个小工具软件,可以简化你的重复性工作。比如要登录某论坛,你只要按一个键,AutoHotkey就会替你打开IE(推荐使用FireFox、Opera、Chrome),输入网址如米扑科技(http://mimvp.com),输入用户名和密码,回车。

AutoHotkey 官网https://www.autohotkey.com

 

AutoHotkey 功能

通过发送键盘或鼠标的键击动作命令来实现几乎所有操作的自动化。您可以自己编写 宏(AutoHotkey Script) 或者使用宏录制器(AutoScriptWriter)来生成;

为键盘,游戏操纵杆和鼠标创建 热键。 事实上任何的按键、按钮或组合键都可以被设置为热键;

可以对Windows各类型窗口进行匹配以及相关属性调整(例如:透明、隐藏、置顶、改变大小等);

当键入您自定义的缩写时可以 扩展缩写。例如, 键入“btw”就可以自动扩展为“by the way”;

创建自定义的数据输入表格、用户界面、菜单等标准控件以及ActiveX 组件(例如IE浏览器控件)等。详情请看 图形界面 部分;

映射 键盘、游戏操纵杆和鼠标上的按键或按钮;

运行现有的AutoIt v2脚本并用 新功能 来增强它们;

将脚本文件编译 成EXE可执行文件,使得程序在没有安装AutoHotkey的机器上得以运行;

借助 相关工具 以实现更强大的功能;

 

AutoHotkey 安装配置

1. 下载 AutoHotkey

官网下载: https://www.autohotkey.com/download/

直接下载: AutoHotkey_1.1.26.01_setup.exe

 

2. 安装 AutoHotkey

双击 AutoHotkey_1.1.26.01_setup.exe 安装即可

autohotkey-an-zhuang-yu-kai-fa-01

 

AutoHotkey 开发使用

1. AutoHotkey 的第一个程序

a) 用记事本(或Notepad++),新建一个文件,如: hello.ahk

b) 输入如下内容

msgbox, 我的第一个AutoHotkey脚本 `n 我爱米扑科技
run, http://mimvp.com

c) 保存文件,双击运行,结果如下:

autohotkey-an-zhuang-yu-kai-fa-02

点击消息框的OK按钮,弹出默认浏览器,打开米扑科技的首页: http://mimvp.com

autohotkey-an-zhuang-yu-kai-fa-03

 

2. AutoHotkey  进阶示例

从第一个小例子,可看出AutoHotkey 是超级简单的吧,下面我们进阶一个示例,也很简单

同样,利用记事本(或Notepad++),新建一个文件: hello-pro.ahk

文件里,输入如下内容:

#0::
msgbox, 这是我的第一个AutoHotkey脚本 `n 我爱米扑科技
run, http://mimvp.com
return

#1::
run, http://proxy.mimvp.com/usercenter/login.php
WinActivate, Chrome ;防止窗口不激活
winwait, 米扑代理   ;等待网页加载成功(至少title显示出来)
sleep, 500          ;保险起见,再等0.5秒(视网速)
send, 'mimvp-user'{tab}'mimvp-pwd'{enter}  ;模拟键入米扑代理的登录用户名和密码、回车
return

保存后,双击文件,发现没有任何提示信息,这是因为定义了2个热键:

win + 0 快捷键,定义了访问米扑科技首页

win + 1 快捷键,定义了米扑代理自动登陆的脚本

 

3) AutoHotkey  读写文件

先写入文件,然后读出

; Example: This is a working script that writes some text to a file then reads it back into memory.
; It provides the same functionality as this DllCall-example.

FileSelectFile, FileName, S16,, Create a new file:
if (FileName = "")
	return
file := FileOpen(FileName, "w")
if !IsObject(file)
{
	MsgBox Can't open "%FileName%" for writing.
	return
}
TestString := "This is a test string.`r`n"  ; When writing a file this way, use `r`n rather than `n to start a new line.
file.Write(TestString)
file.Close()

; Now that the file was written, read its contents back into memory.
file := FileOpen(FileName, "r-d") ; read the file ("r"), share all access except for delete ("-d")
if !IsObject(file)
{
	MsgBox Can't open "%FileName%" for reading.
	return
}
CharsToRead := StrLen(TestString)
TestString := file.Read(CharsToRead)
file.Close()
MsgBox The following string was read from the file: %TestString%

官方参考:AutoHotkey  FileOpen

 

AutoHotkey 设置代理

1) 设置代理方式1

; AutohotKey 支持 http
;
; 米扑代理示例:
; http://proxy.mimvp.com/demo.php
; 
; 米扑代理购买:
; http://proxy.mimvp.com
; 
; mimvp.com
; 2016-11-29


MIMVP_PROXY_NOAUTH := 2
MIMVP_PROXY_AUTH := 1

;~ 代理服务器
proxy_http := "138.68.165.154:3128"

;~ 要访问的目标页面
mimvp_url := "http://proxy.mimvp.com/exist.php"
mimvp_url2 = "https://proxy.mimvp.com/exist.php"

whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
whr.SetTimeouts(30000,30000,30000,30000) 			;~ Set timeouts to 30 seconds

whr.Open("GET", mimvp_url, true)
whr.SetRequestHeader("User-Agent", "curl/7.41.0")	;~ 模拟curl的ua,方便测试


;~ 设置代理服务器
whr.SetProxy(MIMVP_PROXY_NOAUTH, proxy_http)

;~ 设置代理隧道验证信息
;whr.SetCredentials('mimvp-user', 'mimvp-pass', MIMVP_PROXY_AUTH)

whr.Send()
whr.WaitForResponse()

MsgBox % whr.ResponseText  ; 输入到消息框,网页内容太长则显示不完整


; 打开对话框选择文件,写入完整的网页内容
FileSelectFile, resultName, S16,, Create a new file:
if (resultName = "")
	return
	
outFile := FileOpen(resultName , "w" , "utf-8")
if !IsObject(outFile)
{
	MsgBox , 不能打开文件: %resultName%
	return 
}
outFile.write(whr.ResponseText)
outFile.Close()

 

2) 设置代理方式2

; AutohotKey 支持 http
;
; 米扑代理示例:
; http://proxy.mimvp.com/demo.php
; 
; 米扑代理购买:
; http://proxy.mimvp.com
; 
; mimvp.com
; 2016-11-29

URL := "http://proxy.mimvp.com/exist.php"
RESULT_FILE = "result_curl.txt"

Runcurl = curl.exe "%URL%" -x 138.68.165.154:3128 -o "%RESULT_FILE%"
;Runcurl = curl.exe "%URL%" -x user:password@proxyhost:port -o "%RESULT_FILE%"
Runwait, %comspec% /c %RunCurl%, , Hide

 

最后,附上源代码: mimvp-proxy-autohotkey.zip

本示例的易语言源码,由米扑科技原创提供,转载请注明出处

 

米扑科技: http://mimvp.com

米扑代理: http://proxy.mimvp.com

十多门语言使用代理的示例代码:http://proxy.mimvp.com/demo.php

本示例所有的代理IP,由米扑代理免费提供,感谢!

米扑代理,提供支持http、https、socks4、socks5的代理IP,覆盖全球120多个国家,中国34个省市,代理质量高

买代理,推荐米扑代理: http://proxy.mimvp.com

 

 

参考推荐

AutoHotkey ComObjCreate

Win下最爱效率利器:AutoHotKey

带你领略AutoHotkey无限魅力

易语言的安装与开发

易语言的网络编程和代理示例

Go语言下载、安装、配置、使用

Groovy 安装与开发

Scala 安装与开发

R语言的安装与开发