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

Posted

技术标签:

【中文标题】如何在启动时自动构建 AHK 脚本?【英文标题】:How to build AHK scripts automatically on startup? 【发布时间】:2017-06-03 01:43:27 【问题描述】:

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

例如,我有 a script 分配 Ctrl+j 来设置 MEAN stack 的实例并打开我的网站。重新启动计算机后,按下^j 什么都不会,直到我进入 Sublime 和^b(构建)。 我可以从 AHK 构建,但我在 Sublime 中做了很多工作,所以在那里构建更容易。

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


到目前为止我所尝试的:

Looking to build a post startup, startup script:这与使用 AHK 脚本在启动时启动许多程序有关。我使用 Windows 的任务管理器 > 启动来执行此操作,因此与制作无关。我不想在每次重启后都重新构建我的所有脚本。

Windows 10 - run script on windows startup problem:假设启动脚本已经编写并实现。但是,它似乎没有给出脚本。

AutoHotKey FAQ:我最终在这里找到了解决方案,但是我花了很长时间来挖掘问题,所以我想我还是会发布一个问题来帮助遇到这个问题的其他人。

【问题讨论】:

不确定您要“构建”脚本而不是简单地启动/启动它。您可以通过在启动文件夹中添加快捷方式来在启动时启动它(要求您已将 ahk.exe 设置为默认打开 .ahk 文件) ***.com/questions/52909114/… 有人已经问过这个问题了…… 【参考方案1】:

只需在 Windows 的“启动”文件夹中添加脚本的快捷方式(不必是实际文件)。

三种到达方式:

1- 在 Windows 资源管理器中,转到 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

2- 开始 > 程序 > 启动

3- 打开 Windows 的运行应用程序 (Windows + r) 在编辑字段中写入 shell:startup 并单击“确定”按钮。

ps:Win10 在以管理员身份运行 AHK 的情况下阻止脚本启动...阅读这篇文章的 cmets 以获取更多信息。

【讨论】:

知道为什么当 ahk 快捷方式不起作用时(在 Windows 全新安装后)会出现什么问题吗? (当我从这个文件夹中单击它时,它们会按预期启动) 也许它设置为“以管理员身份运行”,如@JerryGoyal 的回答(如下)中所述?除此之外我不知道。 谢谢!就是这样!禁用 autohotkey.exe 的“以管理员身份运行”,并将其添加到我的脚本顶部解决了它:; run script as admin (reload if not as admin) if not A_IsAdmin Run *RunAs "%A_ScriptFullPath%" ExitApp 我认为uiAccess 可以帮助解决以管理员身份运行的问题。但是,它通常需要重新安装 AHK 并选中“安装 UI Access”(因为它不是默认设置)。更重要的是,由于它使用一些自签名证书并将其插入系统,并且可以绕过 UAC,因此可能会导致安全漏洞。【参考方案2】:

在 Windows 10 中启动时运行:

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

在 Windows 10 中以管理员身份运行脚本:

    转到 ahk 脚本并将其标记为以管理员身份运行。 使用文本编辑器创建 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。

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

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

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

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

Start "" "C:\ahk\yourdirectory\yourahk.ahk"

按另存为

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

将文件名命名为anything.bat

【讨论】:

【参考方案5】:

要让脚本在不以管理员身份运行的情况下自动执行管理程序,需要执行以下步骤:

    安装 AHK 时,请选中“将“使用 UI 访问权限运行”添加到上下文菜单”选项。 安装后,在磁盘上找到AutoHotkeyU64_UIA.exe。 打开.ahk 脚本的属性,将“打开方式”选项更改为您刚刚找到的AutoHotkeyU64_UIA.exe。 创建此脚本的快捷方式。 在文件资源管理器中打开%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup。 将该快捷方式移至此文件夹。

你已经完成了。


它是如何工作的?

“将“使用 UI 访问权限运行”添加到上下文菜单”选项为常见的UAC-related issues 提供了一种解决方法,它允许脚本在不以管理员身份运行的情况下自动执行管理程序。

参考:Run with UI Access。

【讨论】:

【参考方案6】:
    打开 Windows 运行 (win+r) 并输入“shelll:startup” 将ahk文件复制粘贴到那里 关闭文件夹

仅此而已!

【讨论】:

以上是关于如何在启动时自动构建 AHK 脚本?的主要内容,如果未能解决你的问题,请参考以下文章

;010_跟随Windows7一起启动的AutoHotkey全自动化热键脚本源代码(长期实际测试完美进化版)

Jenkins 构建自动化 .NET Core 发布镜像

通过Jenkins自动构建dubbo服务时的问题汇总

如何在 VS2008 中打开“自动构建”选项

构建在gitlab中自动运行

在 Windows 上构建自动化程序/脚本