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

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

12.10.2016, 20:36. Просмотров 237. Ответов 2

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

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

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

Подскажите как начать думать, чтобы додуматься?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2016, 20:36
Ответы с готовыми решениями:

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

Реагирование на действия из трея
NOTIFYICONDATA icon; const MyTrayIcon = WM_USER + 555; __fastcall TForm1::TForm1(TComponent*...

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

Текст в иконке трея
Нашел текст исходника на Delphi, решил запустить в C++ Builder6. После небольших манипуляций у меня...

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

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

если не разберусь, то ещё раз напишу.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2016, 16:27

Как развернуть форму из трея?
Всем привет:) Как программно развернуть программу из трея?

Запрос пароля при открытии из трея
Добрый день всем! Настраиваю работу программы с TrayIcon. Создал всплывающее меню, создал форму для...

Мониторинг
Здравствуйте. Подскажите, каким способом можно осуществить мониторинг папки на предмет изменений в...


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

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

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