Russian Qt Forum
Май 03, 2024, 15:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Приложение "Информация о системе"  (Прочитано 5899 раз)
ioann.sys
Гость
« : Декабрь 05, 2014, 22:51 »

Добрых времен суток, коллеги!
Требуется написать приложение, которое будет собирать информацию о системе, а именно:
   - название процессора и его загрузка;
   - количество оперативной и сколько занято\свободно;
   - информация о жёстких дисках (сколько физических, сколько логических, и их занятое\свободное пространство);
   - вызов утилиты ping и traceroute со скриншотами их результатов в виде bmb-изображений.

Подскажите пожалуйста, как средствами Qt, получить эту информацию? Как сделать PrintScreen окон ping и traceroute?
Думаю, сделать GUI приложение SysInfoLauncher, в котором можно чекбоксами отметить необходимые критерии для отчета (процессор, память, хдд) и задать путь для вывода информации и скриншотов в каталог.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #1 : Декабрь 05, 2014, 23:07 »

через Qt никак, разве что вывод ping и traceroute можно получить
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
ioann.sys
Гость
« Ответ #2 : Декабрь 05, 2014, 23:15 »

через Qt никак, разве что вывод ping и traceroute можно получить

то есть, придётся обращаться к функциям WinAPI?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #3 : Декабрь 06, 2014, 00:10 »

на винде — да
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
« Ответ #4 : Декабрь 06, 2014, 09:47 »

или наплевать на winapi и использовать ping  и tracerout
Записан
ioann.sys
Гость
« Ответ #5 : Декабрь 06, 2014, 09:54 »

или наплевать на winapi и использовать ping  и tracerout

Ну да, собственно, так и задумывалось, запускать system("ping host"), потом находить это окно и делать скриншот.
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #6 : Декабрь 06, 2014, 10:39 »

или наплевать на winapi и использовать ping  и tracerout

Ну да, собственно, так и задумывалось, запускать system("ping host"), потом находить это окно и делать скриншот.
Что за костыли. QProcess и его возможность захватывать как stdout, так и stderr запущенного через него приложение можно (нужно?) использовать.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
ioann.sys
Гость
« Ответ #7 : Декабрь 07, 2014, 07:34 »

Подскажите пожалуйста...

Делаю выполнить (WinKey + R) --> cmd, в командной строке пишу tracert ya.ru. В консоль сыпятся сообщения от трассировщика на понятном русском языке. Стоит перенаправить вывод в файл (system("tracert ya.ru > yandex.log");) - то в таком случае, получаются иероглифы.
Записан
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #8 : Декабрь 07, 2014, 10:19 »

Консоль Windows: Все сообщения выводятся в кодировке cp866

Если вы пользуетесь "продвинутым" текстовым редактором notepad.exe, то вам поможет выбор шрифта terminal

В Qt я бы порекомендовал использовать QProcess, захватить stdout запускаемого приложения.
Затем пропустить его через конвертер и получить из него заветный UTF-8.

вот что вас натолкнет к правильным решениям
QProcess
QTextStream::setCodec("CP866");
Записан

ioann.sys
Гость
« Ответ #9 : Декабрь 07, 2014, 18:22 »

Спасибо за подсказку! Действительно, то, что надо
Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.069 секунд. Запросов: 23.