AutoHotkey 使用任务计划程序在启动时无法启动 ClickOnce 应用程序

AutoHotkey 使用任务计划程序在启动时无法启动 ClickOnce 应用程序

我喜欢 AutoHotkey (AHK),并用它来启动我的所有应用程序AHK 命令选择器。为了绕过 Windows 8 UAC 的限制,我需要以管理员身份运行 AHK 脚本。现在,无论是否以管理员身份运行脚本,如果我手动启动 AHK 脚本,它都可以启动我的 ClickOnce 应用程序。这是我如何从 AHK 启动 ClickOnce 应用程序的示例:

运行,C:\SomeFolder\MyClickOnceApp.appref-ms

我遇到的问题发生在使用任务计划程序在我登录 Windows 时自动启动我的 AHK 脚本。当我这样做时,如果我尝试使用脚本启动 ClickOnce 应用程序,则什么也不会发生。我可以关闭脚本并手动运行计划任务以重新启动它,但它仍然不起作用。如果我随后关闭脚本并手动启动它(通过双击我的 .ahk 文件),则一切正常,我可以启动我的 ClickOnce 应用程序。如果我随后再次关闭脚本,并手动运行计划任务以再次重新启动它,则一切仍然正常,我可以启动我的 ClickOnce 应用程序。

因此,问题似乎不是由任务计划程序启动脚本引起的,而是由于某种原因,脚本需要先手动运行至少一次,然后才能够打开 ClickOnce 应用程序。

我不确定手动双击 .ahk 文件和让计划任务为我启动它(计划任务设置为以我的用户(即管理员)的身份运行,并选中“以最高权限运行”)之间有什么区别。但出于某种原因,我手动双击文件似乎会更改某些设置,因此 AHK 脚本的运行方式会有所不同,直到下次重新启动 PC。我能想到的一个区别是,在计划任务中,我将“启动于(可选)”字段设置为包含 AHK 脚本的文件夹(例如 C:\SomeFolder),而当我通过双击手动运行 .ahk 文件时,我不知道是否设置了这一点。

非常感谢您的任何建议。谢谢。

答案1

问题是任务调度程序不在与当前登录用户相同的用户会话中运行。(是的,它可能以相同的用户身份运行……但同一个用户可以在 Windows 中拥有多个会话,并非所有会话都在 GUI 中启动)当任务调度程序启动应用程序但没有地方显示 GUI 时,会发生这种情况。它不在与登录用户相同的会话中运行。

相关内容