使用管道.exe wmic 的输出重定向
Output redirect for wmic.exe using pipes
我正在编写一个GUI应用程序来包装wmic.exe
,使用c ++/win32api。致电时:
CreateProcess(.., "wmic.exe" , ..)
我正在将句柄发送到我为此目的打开的输入和输出管道,稍后我将从中读取输出(并将输入写入)。
相同的代码适用于我检查的任何其他Windows命令行实用程序(net.exe,树.exe等),但是,它不适用于wmic.exe
的情况。我注意到wmic.exe
使用了Console
系列的一些功能(http://msdn.microsoft.com/en-us/library/windows/desktop/ms686033(v=vs.85).aspx),所以我怀疑这可能是原因,但我真的不知道里面发生了什么。
它应该可以工作。您可以尝试在cmd
中使用管道来调用wmic
:
echo CPU | wmic >test.log
,
它可以在我的 64 位 Windows 8 计算机上工作。
相关文章:
- 将标准输出重定向到ostream
- 在程序执行期间从标准输出重定向到自定义流
- 将 Tcl 中的命令输出重定向到文件时,文件以 DOS 格式生成
- 将 Linux system() 调用命令的输出重定向到仅可变的
- 将 ffmpeg 控制台输出重定向到C++中的字符串或文件
- Win32 GUI C(++) 应用将标准输出和标准输出重定向到磁盘上的同一文件
- 将线程之间的标准输入/输出重定向
- GDB Cygwin 不会将输出重定向到文件
- 如何将 printf 流输出重定向到.csv文件
- 将PowerShell.exe的输入和输出重定向到C 中的管道
- Windows Batch - 如何在将标准输出重定向到文件时添加时间戳
- 将一个进程标准输出重定向到管道将产生不同的运行结果
- 如何将我的应用程序生成的标准 Mac OS X 日志输出重定向到文件
- 正在将控制台输出重定向到同一解决方案中的MFC屏幕输出
- 函数 system() 中的输出重定向似乎不起作用
- 使用 ofstream 将控制台输出重定向到文件C++末尾
- 将 printf C++控制台输出重定向到 C#
- 将打印到控制台的函数输出重定向到字符串
- 为外壳输出重定向创建文件
- 将调试输出重定向到空流而不是 std::cerr