Autohotkey 控件在隐藏的 cmd 中发送

Autohotkey controlsend in hidden cmd

我有这样的脚本:

DetectHiddenWindows, On 
Run,%comspec% /k, , hide, pid2 
WinWait, ahk_pid %pid2% 
ControlSend, ,winscp.com script="path\to\script.txt", ahk_pid %pid2% 
sleep,3000 
;-- close hidden DOS window -- 
Process, Close, %pid2% 
Process, WaitClose, %pid2%

但问题是有时 controlsend 工作并发送正确的字母,有时它将双列更改为单列,有时将 winscp.com 更改为 winscp>com 等等,我不知道这些字母来自哪里有时会出现任何想法如何解决这个问题并让它始终发送正确的字母因为这真的让我感到沮丧并使整个脚本变得混乱。

非常感谢

最大

DetectHiddenWindows, on

Run, winscp.com script="path\to\script.txt", , hide, pid2

Sleep 6000

Process, close, %pid2%
Process, WaitClose, %pid2%

这是我确保完成所有上传并准备好继续脚本的最佳方式。

注意:我可以使用 RunWait 和 /c 命令(替代 sleep 命令)来总结我上面提供的整个脚本,但我担心它仍然会出现我上面提到的同样的问题,所以我更喜欢直接使用 运行 使用并处理关闭和 WaitClose 命令。

最大