有 AHK 脚本如下:

CapsLock::Ctrl

;Ctrl + 括号键上下
^[::
send {Up}
return

^]::
send {Down}
return

;……

期望能够将 Capslock 键改为 Ctrl,Ctrl + 中括号键为方向键。但是无法在以管理员权限运行的 PowerShell 中生效,全屏游戏(黑魂三)也不生效。

解决

这是权限问题,将 AHK 脚本以管理员权限启动即可。需要电脑开机后自动管理员运行脚本,普通方法——在程序目录启动文件夹中创建需要管理员权限的快捷方式——无法实现。采用任务计划程序实现。

新建任务,勾选使用最高权限运行,触发器为用户登录时,在条件栏中取消掉只有在计算机使用交流电源时才启动任务[1]操作为执行一 ps1 脚本:

Start D:\Program\Key.exe

不在操作中直接设置启动 Key.exe 的原因是采用直接启动的方法会导致改任务一直显示「正在运行」,不清楚对电脑性能有无影响。不在操作中直接设置powershell -command {D:\Program\Key.exe}的原因是无法测试成功。

效果

登录后自动以管理员权限运行 AHK 脚本,从 AHK 脚本中启动的程序默认为管理员权限。并且,改键在全屏程序以及 PowerShell 中生效。

但,某应用请求管理员权限时弹出的确认屏幕为安全模式,屏蔽了其他软件,改键无法生效。


  1. 此项被默认勾选 ↩︎