Autohotkey 脚本在启动时未运行

Autohotkey 脚本在启动时未运行

所以我有两个脚本shell:startup。一个是一堆热键,当我按下 ctrl+c/a/s/等时它们会执行各种操作,另一个用于在启动时运行一次,仅此而已。

问题是启动脚本不起作用。开机时没有任何反应。

如果我手动运行脚本,它确实按预期工作。我尝试添加睡眠,因为我认为它可能在加载某些必需内容之前就运行了,但仍然没有运气,即使延迟了 10 分钟。脚本从不执行任何操作,它从不显示在任务栏中。

问题是什么?

如果需要的话我可以提供脚本,但由于它看起来根本没有加载,所以我不认为这是一个编码问题。

答案1

不确定您是否在 Windows 10 之前的版本中运行过此功能,但当我从 Windows 7 升级时,我发现我的一些 AutoHotKey 脚本在加载时停止工作。我终于明白这是因为它们现在需要管理员权限(我不认为它们在 Win7 中需要这些权限),但 Win10 阻止shell:startupshell:common startup位置中的项目以管理员身份运行。

我的解决方案有点复杂,但效果很好。基本上,我将脚本放在正常(非启动)位置,例如,C:\Users\xyz\Documents然后在同一位置创建该脚本的快捷方式。然后,您可以将快捷方式的属性设置为以管理员身份运行。最后,在该shell:startup位置,我创建了一个可以自动运行并调用快捷方式的批处理文件:

start "MyScript" /D "C:\Users\xyz\Documents\" /B MyScript.ahk.lnk

答案2

我在win10中遇到了同样的问题,解决方法是直接编辑启动注册表。

  1. 跑步注册表编辑器
  2. 浏览至 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  3. 添新字符串值
  4. 为了值数据,输入 .ahk 文件的路径

就是这样。

答案3

我发现了另一个可能比以前更好的解决方案。

当我开始使用 AHK 时,我将所有.ahk文件都放在一个文件夹中。但是,我想每个人都这样做。在这种情况下,使用 bat 文件运行所有这些文件非常容易。它就像这样:

@echo off
cd f:/hotkeys
for /f  %%f in ('dir /b /s .') do start %%f

创建一个包含此类内容的文件并将其放在启动目录中:Win+R> shell:startup。就是这样。

脚本取自此处https://stackoverflow.com/questions/180741/how-to-do-something-to-each-file-in-a-directory-with-a-batch-script/180749#180749

相关内容