【发布时间】:2015-03-27 10:45:41
【问题描述】:
我有一个问题,我使用 Windows 任务调度程序运行 autoit (.au3) 脚本,以将交互式命令发送到第二个程序 PuTTY,该程序用于通过串行端口 (RS232) 将命令发送到电气设备接受腻子命令。
我从其他线程中读到的问题是,当终端被锁定时,GUI 命令不会运行,并且由于安全原因,我不能让它一直运行在登录状态。
有没有一种方法可以在不使用“键盘/鼠标”命令的情况下让 putty 工作? 这是一个非常简单的脚本。
run ("C:\Users\Public\Downloads\putty\putty.exe")
sleep(1000)
send ("{TAB 4}")//all these commands select the saved configuration for the com port, and open the PuTTY console
send ("{DOWN 2}")
send ("{TAB 1}")
send ("{ENTER}")
sleep(600)
send ("{TAB 4}")
send ("{ENTER}")
sleep(600)
send("{ASC 83}")//this sends the five characters "START" while in the PuTTY console
send("{ASC 84}")
send("{ASC 65}")
send("{ASC 82}")
send("{ASC 84}")
send("{ENTER}")
sleep(3000)
winclose("COM3 - PuTTY")//closes PuTTY.exe
sleep(2000)
send("{ENTER}")
我尝试过使用 ControlSend,但这根本不起作用。
这是我用来让任务调度程序运行 putty.exe 而不是打开它的命令:
cmd /c start "" "C:\Users\Bobby\Documents\runputty.au3"
【问题讨论】:
-
您是否考虑过编写一个程序直接通过 RS232 进行通信,而不是使用 AutoIt 来自动化 PuTTY?即使计算机被锁定,这样的控制台应用程序也能运行。
-
我试过了,但是当我成功打开端口并发送命令时,程序失败了,因为我不知道如何对设备进行“握手/流量控制”,这就是我求助的原因使用第三方 progs
-
那么,恐怕你可能被卡住了。毕竟,您可能必须以编程方式执行此操作,并且只需了解握手。
标签: task scheduler putty autoit