Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.06.2015
Сообщений: 17
1

Мониторинг системного трея

12.10.2016, 20:36. Показов 556. Ответов 2

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

Простой мониторинг с логированием активности сторонней программы.
Идея была такая - каждую секунду делать скриншот области системного tray и сравнивать картинку с предыдущей. Если есть изменения, то писать в лог файл.

Вопрос такой, каким образом я могу найти интересующее меня приложение и его позицию в системном трее? Статичные координаты это конечно хорошо. Но не надёжно. Да и разрешение на мониторе может быть изменено.

Подскажите как начать думать, чтобы додуматься?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2016, 20:36
Ответы с готовыми решениями:

Имитация системного трея
Возник вопрос: как создать в своей программе копию системного трея (так например делается в...

Использование системного трея.
Требуется сворачивать приложение и оставлять в системном трее (внизу, рядом с часами) иконку, чтобы...

Скрыть программу из системного трея
Добрый день. Мне нужно спрятать программу из трея. Перепробовал несколько программ, но они не...

Очистить меню настроек системного трея от мусора
Сабж. Возьмем хоть пример с Proxyfier на принтскрине выше. Была использована когда-то...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30902 / 20218 / 7882
Регистрация: 22.10.2011
Сообщений: 35,098
Записей в блоге: 6
12.10.2016, 21:57 2
Получать хендл окна системного трея. Насколько я помню, это со времен XP-шных Shell_TrayWnd/ToolbarWindow32 не изменилось, и работает как минимум под Win8 (а где-то встречалось упоминание, что и под Win10 работает, но проверить сам не могу, я ее в глаза не видел), потом получать число иконок отсылкой сообщения TB_BUTTONCOUNT, и потом в цикле - информации по каждой иконке (при помощи сообщения TB_GETBUTTON). Этой информации хватит для того, чтобы определить изменение иконки (поле iBitmap этой структуры). Только учти, что работать нужно из адресного пространства Windows Explorer-а (используя ReadProcessMemory), а не просто так...
3
0 / 0 / 0
Регистрация: 29.06.2015
Сообщений: 17
13.10.2016, 16:27  [ТС] 3
Списибо, попробую что-то соорудить на этой основе

если не разберусь, то ещё раз напишу.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2016, 16:27

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Использование системного трея и Notify OSD в Unity Ubuntu
Доброго времени суток, господа. Недавно начал писать под Linux, в связи с окончательным переходом...

Как сделать размещение формы чуть выше системного трея
Для примера, Skype при новом сообщении выводит своё окошко в трее, Auslogics BoostSpeed при...

Окошко из Трея
Привет всем. Ребят как такое окошко делается?:)

Настройка трея
Всем привет!Что то не так нажал и сечас в трее ярлыки стали в два этажа,а это занимает площадь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.