如何在启动时自动构建 AHK 脚本?

How to build AHK scripts automatically on startup?

每次我重新启动计算机时,我都必须重建我所有的 AHK 脚本,这样键盘快捷键才能起作用。

例如,我有 a script that assigns Ctrl+j to set up an instance of the MEAN stack 并打开我的网站。重新启动计算机后,按 ^j 什么都不做,直到我进入 Sublime 和 ^b(构建)。 我可以从 AHK 构建,但我在 Sublime 中做了很多工作,所以在那里构建更容易。

我的 AHK 脚本如何在启动时自动构建?


到目前为止我尝试过的:

作为 Windows 7 用户,我对 Windows 10 的体验有限。我听说 W10 对于 运行 程序地下管理或有限用户可能很挑剔。在 W7 中,您只需将 .AHK 文件 link 添加到启动目录。

只需在 Windows 'Startup' 文件夹中添加脚本的快捷方式(不需要是实际文件)。

三种到达方式:

1- 在 Windows 资源管理器中,转到 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup(对于当前用户启动列表)或 %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Startup(对于每个用户启动列表)

2- 打开 Windows' 运行 应用程序 (Windows + r) 在编辑字段中写入 shell:startup(当前用户)或 shell:common startup(每个用户),然后单击 'ok' 按钮。

3- 开始 > 程序 > 启动(旧 Windows 版本)


在 AutoHotKey 中,您可以使用 Built-in 变量 %A_Startup%(当前用户)或 %A_StartupCommon%(每个用户)

访问此文件夹

要从您的脚本自动创建快捷方式,请使用以下行:

FileCreateShortcut, %A_ScriptFullPath%, %A_Startup%\shortcutname.lnk

要对所有用户执行相同的操作,请改用此行:

FileCreateShortcut, %A_ScriptFullPath%, %A_StartupCommon%\shortcutname.lnk

(如果文件夹中有同名文件,则该文件会被覆盖)


ps:Win10 在以管理员身份使用 AHK 运行 启动时阻止脚本...阅读此 post 的评论以获取更多信息。

运行 在 Windows 10 中启动时:

  1. 将脚本编译为*.exe
  2. 将该exe的快捷方式放在启动文件夹“%appdata%\Microsoft\Windows\Start Menu\Programs\Startup”
  3. 就是这样。不要以管理员身份将其设置为 运行。 Win10 中的程序在启动时不会 运行 被标记为 运行 as admin.

运行 在 Windows 10:

启动时作为管理员脚本
  1. 转到 ahk 脚本并将其标记为管理员运行
  2. 使用文本编辑器创建 VBScript
'put it in startup folder to run the mentioned ahk script at startup
Set WshShell = CreateObject("WScript.Shell" )    
WshShell.Run """C:\Users\jerry\Downloads\scripts\some_script.ahk""", 0 'Must quote command if it has spaces; must escape quotes   
Set WshShell = Nothing

C:\Users\jerry\Downloads\scripts\some_script.ahk 替换为带有扩展名的脚本路径,并将其另存为 .vbs。

  1. 将此 .vbs 脚本放在启动文件夹中 %appdata%\Microsoft\Windows\Start Menu\Programs\Startup

PS:我最喜欢的 AHK 脚本:https://gourav.io/blog/autohotkey-scripts-windows

要允许脚本在没有 运行 作为管理员 的情况下自动执行管理程序,需要执行以下步骤:

  1. 安装 AHK 时,选中“将 'Run with UI Access' 添加到上下文菜单”选项。
  2. 安装后,在您的磁盘上找到 AutoHotkeyU64_UIA.exe
  3. 打开 .ahk 脚本的属性,将“打开方式”选项更改为您刚刚找到的 AutoHotkeyU64_UIA.exe
  4. 创建此脚本的快捷方式。
  5. 在文件资源管理器中打开 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
  6. 将该快捷方式移动到此文件夹。

大功告成。


它是如何工作的?

“将 'Run with UI Access' 添加到上下文菜单”选项为常见 UAC-related issues 提供了一种解决方法,它允许脚本在没有 运行 作为管理员的情况下自动执行管理程序。

参考:Run with UI Access.

  • 打开记事本或任何其他文本编辑器

  • 写入Start "" "C:\ahk\yourdirectory\yourahk.ahk"

  • 按另存为

  • 导航至%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

  • 命名文件名anything.bat

  1. 打开windows运行(win+r)并输入“shell:startup”
  2. 将 ahk 文件复制粘贴到那里
  3. 关闭文件夹

仅此而已!

无需编写任何代码的简单解决方案,使用Windows 任务计划程序,将脚本设置为在用户登录时启动。如果设置为系统启动会报错,因为时间太早了。