2016-11-20 2 views
1

У меня есть программа на C++ для Windows, в которой мне нужно знать тип видеокарты, которую пользователь имеет.Как выполнить скрытый канал C++

Как я получить это, выполнив эту команду трубы

std::shared_ptr<FILE> pipe(_popen("wmic path win32_VideoController get name", "r"), _pclose); 

Это приводит краткое окно консоли блеснуть.

Как я могу выполнить эту команду трубы без отображения окна консоли? По моему мнению, моя программа выглядит глючной.

ответ

0

Вы можете изменить свой код для запроса WMI напрямую с использованием WMI API вместо вызова внешней консоли.

Посмотрите на этот пример (есть один для C++): https://msdn.microsoft.com/en-us/library/aa391398(v=vs.85).aspx

+0

Определенно путь. Спасибо за это, однако я смущен, как использовать это. Как в примере кода C++ на этом сайте, где находится буфер, содержащий текст результата? Сможете ли вы написать быстрый образец? Я бы очень хотел вас навсегда: D – mocode9

+0

@ mocode9 Пример был для выполнения WQL-запроса, который может вернуть один или несколько результатов. Затем приведен пример, чтобы показать, как итерации по набору результатов. Не было никакого буфера для хранения текста результата. Это то, что вы бы вложили. Имеет ли это смысл? –

+0

Да, сэр. У меня это работает :) Большое вам спасибо! – mocode9