2023年11月25日发(作者:)

windows⾃动化脚本语⾔AutoHotKey

最近闲暇时间,思考着如何控制⾃⼰的电脑,⾃动执⾏任务。

我提出了⼀个开机启动控制的任务:

2分钟后重启电脑;

启动应⽤程序[QQ,VSCode,electron];

打开⽂件夹;

启动Chrome,访问[baidu,hao123]

提出需求后,我⽴马想到⽤nodejs编写脚本执⾏,然⽽是感觉写起来很费⼒,就琢磨着有没有跟⾼效的⽅式

为此,我搜集⽹上的解决⽅案,汇总如下:

1. 极速点击虎

2. 按键精灵

3. AutoHotKey

极速点击虎是开发的动作模拟⼯具,虽然能模拟上⽹,⿏标点击但是,操作太繁琐,⽽且终究是⼯具,不能编程。

与此相⽐,按键精灵就很强⼤。不仅可以进⾏各种模拟动作,还能录制整个动作,但是唯⼀的缺陷就是,⽣成的脚本只能使⽤它的内置的⼯具解

析。

知道最后,我找到了AutoHotKey,很是满意。因为不仅能模拟windows上的各种操作,还能编译⽣成exe可执⾏⽂件,满⾜了我想要实现和编

程语⾔的集成⾃动化脚本的需求。

以下是我的第⼀个AutoHotKey脚本 - 智能录⾳:

1. 功能需求:

```

启动脚本后,⾃动打开录⾳机,录制10S后,暂停5S,继续录制6S,重命名后剪切到指定⽬录,关闭所有操作窗体。

```

2. 语⾔描述

```

{

操作环境:win10,

任务:录⾳,

参数:[

暂停:{ 启⽤:, 开启时间:录制5秒后, 持续时长:6 },

录制:{ 录制时长:10 },

重命名:xxx,

保存位置:d:record2020-8-1xxx.m4a

],

触发:启动后⽴即执⾏

}

```

3. 程序实现

* 运⾏环境

```

{

运⾏系统:win10,

开发语⾔:AutoHotKey,

输⼊法且为搜狗中⽂输⼊

}

```

* 代码描述

```

send["win","luyinj","Space","Enter"]; // Win搜索进⼊录⾳机

sleep, 3000; // 休眠3

send["Ctrl+R"]; // 录制(发送录制快捷键)

sleep, 6000;

send["Alt+P"]; // 暂停

sleep, 6000;

send["Alt+P"];

sleep, 10000; // 继续录制10

send["Enter"]; // 保存录制

sleep, 1000;

send["Alt+E"];

sleep, 500;

send["luyin1","Shift","sss","Enter"]; // 重命名为"录⾳sss"

sleep, 500;

send["Alt+M"] // 打开⽂件⾃动保存位置

sleep, 500;

send["{Down 3}"];

send["Enter"];

sleep, 4000,

send["Ctrl+x"]

runWait, explorer d:record2020-8-1 // 移动⽂件指定位置

sleep, 3000,

send["Ctrl+v"]

MsgBox complete reocrd ...

```

* 源码

```

;智能录⾳

Send {LWin} ;搜索进⼊录⾳机(中⽂输⼊法)

Sleep, 500

Send {l}{u}{y}{i}{n}{j}{Space}{Enter}

Sleep, 3000

Send {LCtrl} {R} ;录制

Sleep, 6000 ;5秒后暂停

Send !{P} ;暂停6

Sleep, 6000

Send !{P}

Sleep, 11000 ;继续录制10

Send {Enter} ;保存录制