2010-01-13 62 views
0

我试图包装cmd.exe控制台,并希望能够使用底层的命令解释器由我的应用程序运行。这将允许我为ex执行动态创建的脚本和其他事情(问题不在于如何执行动态创建的脚本,而是围绕shell的不同命令获取解释器循环)。我的最后一个选择是自己重写命令(copy,dir,...),而是重用cmd.exe解释器。是否有一个接口cmd.exe

Thx

回答

1

那么这可能会很困难。但是,您可以使用/k command选项调用cmd.exe,并将stdin/stdout重定向到您自己的缓冲区。有关stdin/out重定向的信息,请参阅Creating a Child Process with Redirected Input and Output

+1

其实我已经做到了这一点,它的工作原理,但这个问题是,你不能得到告知,命令完成后,您必须在输出句柄上等待,看看您是否没有更多的东西,并获得最后输出的提示。这有点蹩脚,这就是为什么我希望能够直接与底层interperter对话,以便能够控制每一个命令命令 – user246456 2010-01-13 16:31:38

+0

@ user246456检查作为最后输出的提示有什么错?这与人们通常使用的信号相同。这是可靠的。你缺乏什么控制? – barlop 2010-11-12 13:20:16

1

看看CMD.EXE replacemnt开源项目 - Console你也许可以修改这个代码

相关问题