|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.11.2013, 00:32 | #21 | |
Форумчанин
Регистрация: 14.11.2010
Сообщений: 138
|
Цитата:
Код:
Код:
|
|
21.11.2013, 18:02 | #22 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Таймер запускайте в главном окне а главное окно пусть делает InvalidateRect для окна активной вкладки.
|
21.11.2013, 23:12 | #23 | |
Форумчанин
Регистрация: 14.11.2010
Сообщений: 138
|
Цитата:
Ведь на входе hwndFrom - это дескриптор окна от которого получили сообщение, в вашем предлагаемом случае - это будет главное окно. Нужно сделать дескриптор окна вкладок глобальным что бы всегда иметь к нему доступ? И почему мой описанный метод не работает? Ведь вроде всё логично - получаю сообщение от окна вкладки, на это окно вешаю счётчик, но таймер не работает. Почему? Так же не понимаю ваш вариант - получается, я всё равно буду рисовать в главном окне а окно вкладок делать не валидным? Зачем? Заранее прошу прощения, до меня просто не доходит суть и смысл, не могли бы вы подробно ответить на мои вопросы? Спасибо! |
|
22.11.2013, 07:46 | #24 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Я нигде не сказал "рисовать". В главном окне только указывается вкладке, что вкладка должна перерисоваться а дальше это забота вкладки.
В принципе можно ставить таймер на каждую вкладку, только смысл? Отображается только одна, зачем рисовать все... По поводу почему не работает - не вникал, но откудя в обработчике WM_TIMER берется LPNMHDR? А зачем там EnumChildProc? Отслеживайте коды ошибок - правильные ли у вас дескрипторы окон и тд. |
10.12.2013, 02:15 | #25 |
Форумчанин
Регистрация: 14.11.2010
Сообщений: 138
|
Доброго дня суток!
Вобщем, заставить работать таймер у меня не получилось, и я пришел к выводу, что нужно поменять структуру приложения и используемые технологии. На счёт структуры пока вопросов нет, а вот на счёт технологий - узнал про такую вещь как WMI - как можно на приложении винапи заюзать сие действо? В гугле нашёл только примеры скриптов на VB, но мне хотелось бы использовать всё это в нативном винапи приложении. И на сколько большую информацию можно вытянуть из реестра? Пока что оттуда беру только название процессора. |
16.12.2013, 04:28 | #26 |
Форумчанин
Регистрация: 14.11.2010
Сообщений: 138
|
Кое как разобрался с WMI, прикрутил его в проект. Но теперь возник вопрос возвращаемого типа с базы WMI.
Например, запрос "SELECT * FROM Win32_VideoController", берём поле "AdapterRAM". В справке класса поле "AdapterRAM" имеет тип uint32. И при обработке моего запроса функцией(код которой приведён ниже) ничего не происходит. Т.е. далее код не исполняется, скорее всего какая то ошибка вылезает. Код функции: Код:
Код:
|
16.12.2013, 06:51 | #27 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Прочитайте про SysAllocString() и VariantChangeType()
|
16.12.2013, 11:29 | #28 |
Форумчанин
Регистрация: 14.11.2010
Сообщений: 138
|
Спасибо за информацию, но назрел ещё один вопрос - в моём примере функции работы с WMI всегда берёт поле bstrVal структуры VARIANT. Получше просмотрев содержимое структуры, я обнаружил что она имеет целую кучу типов данных - если я правильно понял, то для каждого типа данных своё поле в этой структуре. Это так?
Исходя из моих примеров - типы string вполне читаются через bstrVal, а если поле другого типа, то не нужно ли обращаться к другому(соотв.) полю в структуре? |
16.12.2013, 12:29 | #29 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Да, нужно, ибо другие поля имеют другой тип - вы банально не сможете присвоить поле типа LONG в переменную типа BSTR и тд.
У вас проблема будет не как получить нужное поле из VARIANT структуры, а как вернуть значение из функции, которая заточена вернуть BSTR. |
16.12.2013, 15:55 | #30 |
Форумчанин
Регистрация: 14.11.2010
Сообщений: 138
|
Именно до этого я и дошёл - как посоветуете организовать функцию? У меня из идей только возвращение pEnumerate, т.е. полученных данных, а в каждой вкладке уже по своему обрабатывать. Возможно есть какие то готовые простые обёртки на WMI ? А то чувствую, что буду изобретать велосипед.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Мониторинг системных ресурсов С++ | Serjik-ahaha | Общие вопросы C/C++ | 1 | 18.10.2012 11:47 |
Мониторинг | shtep | PHP | 1 | 06.02.2012 10:37 |
Мониторинг ОС | Smile08 | Безопасность, Шифрование | 3 | 08.11.2010 16:00 |
Мониторинг удаленного компьютера | NBAH1990 | Общие вопросы Delphi | 4 | 28.02.2010 08:35 |
Мониторинг CS | bookkc | Фриланс | 4 | 09.01.2010 18:17 |