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

48
每次我重启电脑,都需要重新构建我的AHK脚本,以便键盘快捷键起作用。
例如,我有一个脚本,将Ctrl+j分配给设置一个MEAN stack实例并打开我的网站。在重启计算机后,按下^j没有任何反应,直到我进入Sublime并按下^b(Build)。我可以从AHK构建,但我在Sublime中做了很多工作,所以更容易在那里构建。

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


我已经尝试过的方法:


不确定您是否想要“构建”脚本,而不仅仅是启动它。您可以通过在启动文件夹中添加一个快捷方式来在启动时启动它(需要将ahk.exe设置为默认打开.ahk文件)。 - Thierry Dalon
有人已经问了这个问题... 请查看https://stackoverflow.com/questions/52909114/how-to-launch-ahk-file-when-pc-starts/70814043#70814043 - Anonymous
8个回答

62

只需将脚本的快捷方式添加到Windows的“启动”文件夹中即可。

有三种方法:

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(每个用户),然后单击“确定”按钮。

或者

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


在 AutoHotKey 中,您可以使用内置变量 %A_Startup%(当前用户)或 %A_StartupCommon%(每个用户)访问此文件夹。

要从脚本自动创建(当前用户)快捷方式,请使用以下代码:

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

要为所有用户执行相同操作,请改用以下代码:

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

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


提示:Win10 拦截以管理员身份运行的 AHK 启动脚本... 阅读此帖子的评论获取更多信息。


有没有想法为什么在 Windows 系统重新安装后,ahk 快捷方式无法工作?(当我从文件夹中单击它时,它们按预期启动) - JinSnow
1
也许它被设置为“以管理员身份运行”,如@JerryGoyal的答案所提到的?除此之外,我一无所知。 - L777
3
谢谢!就是这样了!禁用autohotkey.exe的"以管理员身份运行"选项,并在我的脚本顶部添加以下内容解决了问题:; 以管理员身份运行脚本(如果不是管理员重新加载) if not A_IsAdmin { Run *RunAs "%A_ScriptFullPath%" ExitApp } - JinSnow
1
我认为uiAccess可以帮助解决管理员权限问题。然而,它通常需要重新安装AHK并勾选“安装UI Access”(因为这不是默认设置)。此外,由于它使用了一些自签名证书并将其插入到系统中,并且它可以绕过UAC,因此可能会导致安全漏洞。 - InQβ
在新的AutoHotKey Dash中,只需打开“启动设置”并勾选“UI访问”复选框。 - xmedeko

11

在Windows 10中开机自启动:

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

在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

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


对于那些在编译脚本为.exe文件方面遇到困难的人:https://www.thewindowsclub.com/how-to-convert-an-ahk-file-into-an-exe-file-in-windows-10 - arara

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

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

  • 按下保存

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

  • 将文件命名为 anything.bat


1
作为Windows 7用户,我对Windows 10的使用经验有限。我听说W10在以管理员或受限用户身份运行程序方面可能会出现问题。在W7中,您只需将.AHK文件链接添加到启动目录即可。

1

使用Windows任务计划程序,无需编写任何代码即可简单解决问题。将脚本设置为用户登录时启动即可。如果将其设置为系统启动,则会出现错误,因为太早了。


0
打开Windows运行(win+r)并输入shell:startup 将ahk文件复制粘贴到那里 关闭文件夹 就这样!

必须是 shell:startup - 7urkm3n

0

为了让脚本在不以管理员身份运行的情况下自动化管理程序,以下是所需步骤:

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

这样就完成了。


它是如何工作的?

“在上下文菜单中添加“以UI访问方式运行”的选项”提供了一种解决常见UAC相关问题的方法,允许脚本在不以管理员身份运行的情况下自动化管理程序。

参考:以UI访问方式运行


0
另一种方法是通过注册表编辑器来完成。
1:打开Windows注册表编辑器;按下“Windows键+R”,然后在运行窗口中输入“regedit”。这将启动注册表编辑器。
2:您会看到一个类似NoSql的数据库,按照以下路径找到它:“HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”。点击“Run”文件夹。
3:在运行文件夹内,您会看到一系列类型为“REG_SZ”的值/条目。在空白处右键单击,选择“新建”>“字符串值”。创建新条目。
4:右键单击新条目,选择“修改”。给条目命名,但在“数值数据”字段中输入您的autohotkey(.ahk)文件的路径。例如,“C:\MyCoolScript.ahk”或“E:\MyCoolExecutable.exe”。
下次系统启动时,所有位于Run文件夹中的条目都将被评估,所有文件都将被打开或执行。如果您已安装AutoHotKey,则“.ahk”文件将被执行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接