首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoIT exe手动工作,但在使用JAVA调用时,它只是启动cmd,之后没有任何反应。

AutoIT exe手动工作,但在使用JAVA调用时,它只是启动cmd,之后没有任何反应。
EN

Stack Overflow用户
提问于 2020-06-03 23:35:10
回答 1查看 118关注 0票数 2

我这里有一个AutoIT脚本:

代码语言:javascript
复制
;Launch CMD
Run("C:\Windows\System32\cmd.exe")
sleep(2000)
$cmdHandle = WinActivate("C:\Windows\System32\cmd.exe")
Sleep(2000)

;Sending document
ControlSend($cmdHandle, "", "", "ftp" & @CRLF)
ControlSend($cmdHandle, "", "", "open" & @CRLF)
Sleep(2000)
ControlSend($cmdHandle, "", "", "first command" & @CRLF)
Sleep(2000)
ControlSend($cmdHandle, "", "", "second-coomand" & @CRLF)

第一个命令和第二个命令我不能提供因为它是内部的。我已经将这个.au3文件编译成一个可执行文件,它可以完成这项工作。但是我需要用Java来调用它。我尝试过的Java代码是:

代码语言:javascript
复制
 ProcessBuilder pb = new ProcessBuilder("C:\\Users\\username\\eclipse-workspace\\Examples\\src\\com\\own\\examples\\etc.exe");
    pb.start();
    Thread.sleep(5000);

通过java,它只会启动cmd,之后什么也不会发生。请帮帮我!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-04 02:23:19

尝试将/c/k开关作为AutoIt脚本中的第一个参数发送。这往往是从非cmd或批处理实例向批处理文件或cmd相关内容发送参数时的要求。例如,尝试使用:

代码语言:javascript
复制
ControlSend($cmdHandle, "/c", "first command" & @CRLF)

然后看看它是否能在java中工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62176804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档