【发布时间】:2017-01-24 08:39:06
【问题描述】:
我这样做:
if (!CreateProcessA(NULL, lArgs, NULL, NULL, FALSE,
CREATE_NEW_CONSOLE, NULL, NULL, &StartupInfo, &ProcessInfo))
{
free(lArgs);
return GetLastError();
}
但我不知道如何从控制台获取输入。
我有义务为它写一个文件吗?
编辑 1:没有问题,它可以工作(代码是 C 和 C++)。 这创建了一个控制台,我正在寻找的是: 我如何在这个范围内获得来自这个新控制台的用户输入? lArgs 包含我传递给这个新控制台的参数/命令行。
编辑2:(我没有任何问题。它工作正常。)子进程是一个控制台,我试图在控制台(子进程)中获取用户输入到父进程。
编辑 3:子进程只是“CREATE_NEW_CONSOLE”中的控制台。命令行通过 lArgs 提供给控制台。该命令运行一个程序,其结果显示在这个新控制台中。如果我使用 _popen(我不想)而不是 createprocess,则此显示的结果由 _popen 返回,但使用 createprocess,它似乎丢失了。
【问题讨论】:
-
C 和 C++ 是不同的语言!选择您使用的标签并删除错误的标签!
-
不应该
lArgs[0]从那个控制台获取输入吗? -
哪个进程有问题?发射还是发射?
-
我认为这个问题已经被问过了(虽然我不确定它是否得到了答案):stackoverflow.com/questions/35969730/… 编辑:您实际上会在这里找到答案:stackoverflow.com/questions/19051769/…
标签: c++ c windows console createprocess