设置应用开机时的音量:Autohotkey + NirCmd(及其安装)

前言

我有一个应用 EyeNurse,每次开机音量都会调到最大。我想用脚本的方式让其音量变小

应用安装

  • AutoHotkey :Windows脚本工具。

    建议下载V2,但我这里的脚本用的是V1。下

    这种工具最好就不要乱改目录

  • NirCmd - Windows command line tool:系统命令执行工具。

    滚动页面最底部,下载64位

    下载完成后解压,把里面的东西新建并丢到C盘里:

    image-20260718155627954

脚本编写

新建一份 SetVolume.ahk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#NoEnv
#SingleInstance, Force

; ========== 用户修改区域 ==========
nircmdPath := "C:\Tools\nircmd.exe" ; 改成你存放 nircmd.exe 的实际路径
targetVol := 0.2 ; 音量值,0.5 = 50%,范围 0~1
maxAttempts := 30 ; 最大尝试次数,超过则退出
; ==================================

attempt := 0

Loop {
attempt += 1

; 检查 EyeNurse 进程是否存在
Process, Exist, EyeNurse.exe
if (ErrorLevel) {
; 找到了!执行音量设置
Run, %nircmdPath% setappvolume EyeNurse.exe %targetVol%

; ---------- 提示:成功找到 ----------
; 方式1:系统通知(推荐,不会阻断)
; TrayTip, 成功!, 已找到 EyeNurse 进程`n音量已设置为 % (targetVol*100)%% , 3

; 方式2:对话框(如果想让用户点击确认,取消下面注释,并注释掉上面的 TrayTip)
MsgBox, Can_Find EyeNurse

Break ; 设置完成,退出循环
} else {
; ---------- 提示:正在尝试 ----------
; 每 5 次尝试提醒一次(避免刷屏)
if Mod(attempt, 5) = 0 {
MsgBox, Fail_to_find EyeNurse
}

; ---------- 超时处理 ----------
if (attempt >= maxAttempts) {
MsgBox, Fail_to_find EyeNurse
Break
}

Sleep, 1000 ; 等待 1 秒再试
}
}

; 脚本结束(可选:清理通知)
; TrayTip 会在下次显示时自动消失,无需额外操作

双击脚本,如果成功,进入下一步

开机自启

Win+R 然后 shell:startup, 把这份脚本丢进去

然后开机重启,发现成功!