为什么 Task Scheduler 使用 Notepad++ 打开 AutoHotKey 脚本而不是 运行 它?

Why does Task Scheduler open AutoHotKey script with Notepad++ instead of actually run it?

我使用任务计划程序在以最高权限登录时自动运行 AutoHotKey 脚本。但最近它突然切换到在脚本上打开 Notepad++,而不是 运行 它。双击脚本仍然按预期工作。

这是怎么回事?以及如何解决这个问题?

任务的xml导出:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2017-08-16T17:26:03.6121892</Date>
    <Author>OOKER-LAPTOP\Ooker</Author>
    <URI>\AutoHotkey</URI>
  </RegistrationInfo>
  <Triggers>
    <LogonTrigger>
      <Enabled>true</Enabled>
    </LogonTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-21-3621221271-3088881583-359884916-1002</UserId>
      <LogonType>InteractiveToken</LogonType>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>D:\Data\Config\Essential.ahk</Command>
    </Exec>
  </Actions>
</Task>

注册表导出自 HKEY_CLASSES_ROOT\AutoHotkeyScript

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AutoHotkeyScript]
@="AutoHotkey Script"

[HKEY_CLASSES_ROOT\AutoHotkeyScript\DefaultIcon]
@="C:\Program Files\AutoHotkey\AutoHotkey.exe,1"

[HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell]
@="Open"

[HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Compile]
@="Compile Script"

[HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Compile\Command]
@="\"C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe\" /in \"%l\""

[HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit]

[HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit\Command]
@="C:\Program Files (x86)\Notepad++\notepad++.exe %1"

[HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Open]
@="Run Script"

[HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Open\Command]
@="\"C:\Program Files\AutoHotkey\AutoHotkey.exe\" \"%1\" %*"

[HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\RunAs]

[HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\RunAs\Command]
@="\"C:\Program Files\AutoHotkey\AutoHotkey.exe\" \"%1\" %*"

[HKEY_CLASSES_ROOT\AutoHotkeyScript\ShellEx]

不知道是什么问题,你可以直接用AutoHotkey程序启动脚本解决:

"C:\Program Files\AutoHotkey\AutoHotkey.exe" D:\Data\Config\Essential.ahk