1

这是一个相当复杂的过程,所以请多多包涵!无论如何,这个概念是直截了当的:

我有一个 C 程序,它根据用户输入生成一个批处理文件并执行它。在所有情况下,批处理文件都会打开一个新终端。我希望我的程序通过新终端执行设置命令。

我 99% 肯定我需要为此使用 Win32 API,并且完全可以接受这个挑战,但我只是想朝着正确的方向稍微推动一下。

关于如何设计这样一个程序的任何建议?

非常感谢您的宝贵时间!

4

2 回答 2

1

当您使用CreateProcess()启动批处理脚本时,您可以指定CreatePipe()为标准输入和标准输出创建的自定义管道。这将允许您的应用程序通过管道发送任何命令来控制应用程序。

如果你只指定标准输入管道,那么输出仍然会被发送到它自己的控制台窗口。

于 2012-10-10T09:55:43.150 回答
0

最简单的方法是将SendMessage(WM_CHAR) 发送到新的控制台窗口,但这不是错误证明。

正确的方法是使用 STARTF_USESTDHANDLES 标志 CreateProcess()。在此处查看示例

于 2012-10-10T03:20:15.967 回答