1

有没有办法在 Windows 中使用 C 执行命令,并在不使用 System 命令的情况下获取输出?win32 api中有没有功能?

4

3 回答 3

1

看一下_popen函数。它适用于控制台子系统可执行文件。

如果您的目标是 Windows 子系统,则有更复杂的基于CreateProcess的解决方案。

于 2013-01-27T20:25:18.163 回答
1

从这个问题的答案Win32 API 中的 Posix popen() 等价物是什么?有一个指向此 MSDN 文章Creating a Child Process with Redirected Input and Output的链接,它或多或少地描述了如何popen使用 Win32 调用构建功能

本主题中的示例演示如何使用控制台进程中的 CreateProcess 函数创建子进程。它还演示了一种使用匿名管道重定向子进程的标准输入和输出句柄的技术。请注意,命名管道也可用于重定向进程 I/O。

于 2013-01-27T23:04:14.427 回答
0

ShellExecute() or the _spawn() function and its variants. MSDN is the place to look.

于 2013-01-27T20:31:20.513 回答