Я пишу приложение с графическим интерфейсом, чтобы обернуть wmic.exe
, используя c ++ / win32api.
при звонке на:
CreateProcess(.., "wmic.exe" , ..)
Я посылаю дескрипторы для ввода и вывода Pipe, который я открыл для этой цели, из которого я позже прочту вывод (и запишу ввод).
тот же код работал для любых других утилит командной строки Windows, которые я проверял (net.exe, tree.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.
Других решений пока нет …