我有一个自动导入向导 GUI 的自动热键脚本。当我 RDP 进入该脚本所在的机器时,我可以运行该脚本,它运行良好。该脚本按 10 分钟的时间表运行。如果我在计划运行时将 RDP 加入机器,我可以看到脚本运行良好。
当我退出 RDP(甚至只是最小化窗口)时,脚本会按计划运行并挂在导入向导的第一个窗口中。如果我回到 RDP,我会看到那个窗口坐在那里,我看到我的脚本在等待下一个窗口出现时挂起。如果我在打开的窗口上单击“确定”(这正是 ahk 脚本所做的),那么我的脚本将继续运行并正常运行。
tldr:我的自动热键脚本仅在我观看时有效!
这是一些代码……</p>
#NoTrayIcon
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
saexe_file = C:\test.exe
company_file = Z:\ABC.SAI
import_file = D:\test.imp
Run, %saexe_file%
WinWait Simply Accounting Import - Select Company
WinActivate
Send %company_file%{Enter}
; IT HANGS HERE
WinWait Simply Accounting Import - Select File to Import from
WinActivate, Simply Accounting Import - Select File to Import from
Send %import_file%{Enter}
编辑 07-12-2013:找到解决方案:
不要断开与 RDP 的连接,而是运行这个批处理文件……</p>
for /f "usebackq skip=1 tokens=3" %%i in ( query user %USERNAME%
) do %windir%\System32\tscon.exe %%i /dest:console