请教一个与CMD类型程序交互的问题,程序是EvID4226Patch。
最近在学些au3,做一些自动安装之类的。我还在使用xp系统,为了解决tcp连接数的限制,需要使用这个EvID4226Patch,这是个cmd窗口下的程序,且无法自行静默完成工作,运行过程中需要输入连接数,即使用参数预先输入连接数,也需要在起运行过程中输入“y”进行确认。但是,我却无法与该程序进行交互。使用的代码大致如下:
$PID = Run(@ComSpec & " /c " & @ScriptDir & "\EvID4226Patch.exe","", @SW_MAXIMIZE, $STDERR_CHILD + $STDOUT_CHILD)
然后,无论使用StdoutRead、StdinWrite 还是_WinAPI_WriteConsole ,都无法实现与这个EvID4226Patch进行交互。
我试了一下,Run的最后那个参数,如果使用$STDERR_CHILD + $STDOUT_CHILD,打开的cmd窗口就是一片黑,什么文字都没有,但是查看系统进程EvID4226Patch程序确实启动了。如果使用$RUN_CREATE_NEW_CONSOLE,cmd窗口中有EvID4226Patch程序运行的文字以及要求输入y等选项的提示,但是仍然无法用我上面说的函数进行交互。
我此前使用过赛门铁克出的那个wlan程序,也是cmd窗口下的程序,就能成功交互,不知道这个EvID4226Patch为什么不可以。还请高手们帮忙解惑。这个EvID4226Patch在xp时代还是有点名声的,网上应该能够下载到,我这里就不贴链接了。
谢谢诸位! 用PostMessage_UDF,论坛有讨论,比如:
http://www.autoitx.com/forum.php?mod=viewthread&tid=37836 回复 2# afan
PostMessage_UDF有简单点的如何使用吗? PostMessage_UDF我也试了,好像不好用。
页:
[1]