|
发表于 2018-4-19 12:06:21| 字数 1,366| - 美国–德克萨斯州–达拉斯–理查森 Charter_Communications
|
显示全部楼层
|阅读模式
本帖最后由 luoht 于 2018-4-19 12:19 编辑
https://www.autohotkey.com/
Auto Hot Key 这个软件是做什么用的呢?简单地说,它可以自动化许多键盘和鼠标输入。复杂地说,它是一个编程语言解释器。你用它的语言来编程,可以自动化许多日常工作。
举个例子吧:
楼主长期在家上班,需要连接VPN到公司网络,一般连上去就不断开了。但最近公司有新的 IT 政策,限制每次连接最长24小时。24小时一到,VPN服务器就自动断开连接。用户需要重新登录VPN。重新登录倒不是太麻烦。但有时走开没有留意VPN已经断开,回来的时候又忙着处理离线文档。许多公司的 email 和信息不能及时收到,等发觉的时候,已经过去几个小时了,非常误事。于是就想,如果有个软件,VPN一断开,就自动连接(无人值守),那该多好。
下面来分析一下VPN断开和登录的过程。
图一、当连达到24小时,被VPN服务器强行断开的时候,会显示如下窗口。这时候需要点击 OK 按钮来取消窗口。
图二、这时候,用户就要运行VPN客户端软件,并点击“连接”(Connect)按钮。
图三、当客户端软件连接上VPN服务器后,需要输入密码。
图四、输入通过密码验证后,会显示“使用条款”信息,要点击“同意”(Accept)按钮才能开始使用VPN。
以下是代码及注释。把以下文本拷贝到记事本(Notepad)中,保存为 .ahk 后缀的文件,然后用 Auto Hot Key 来运行这个 ahk 文件就行了。
- SetControlDelay -1 ;设置无延迟
- Loop { ;不断循环
- ;等待一个弹出窗口,窗口标题是"Cisco AnyConnect",窗口显示文本中有"Max time exceeded"字样
- WinWait, Cisco AnyConnect, Max time exceeded
- ControlClick, OK,,,,,NA
- ;运行VPN客户端软件,等待窗口(窗口标题是"Cisco AnyConnect Secure Mobility Client"),然后点击“连接”(Connect)按钮
- run "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\**ui.exe"
- WinWait, Cisco AnyConnect Secure Mobility Client
- ControlClick, Connect,,,,,NA
- ;等待提示输入密码窗口(窗口标题是"Cisco AnyConnect",窗口显示文本中有"PIN"字样),输入密码123456,然后点 OK 按钮
- WinWait, Cisco AnyConnect, PIN:
- ControlSetText, Edit2, 123456
- ControlClick, OK,,,,,NA
- ;等待使用条款窗口(窗口标题是"Cisco AnyConnect",窗口显示文本中有"Accept"字样),然后点“同意”(Accept)按钮
- WinWait, Cisco AnyConnect, Accept
- ControlClick, Accept,,,,,NA
- }
- Return ;程序结束
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|