C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 4 лампочки в одной иконке трея. / Панель задач, Рабочий стол, трей / Система. Общее

4 лампочки в одной иконке трея.


Автор: Меньшиков Дмитрий.

Среда: Win32, тестировалось под Win98, Win2000

CTrayLights

Описание:

Данный класс представляет удобный способ работы с четырьмя лампочками в одной иконке трея. Это может быть полезно при отсутствии пользовательского интерфейса у программы со сложной внутренней структурой (разделяемые ресурсы, потоки, взаимодействие с другим ПО и т.д.), а также при отладке или исследовании. Также это довольно неплохой способ диагностики проблем в случае удаленного низкоквалифицированного пользователя. 4 отдельно управляемые лампочки по 16 цветов дают возможность видеть отражение внутренних процессов программы, причем нескольких параметров, экономя пространство в трее. Каждая лампочка может быть включена в любой из 16 основных цветов или прозрачный, или выключена. Цвет выключенных лампочек можно задать, по умолчанию - прозрачный.

Использование:

Здесь все просто. Объявляется экземпляр класса CTrayLights, затем вызовом StartTrayLights() иконка помещается в трей, затем вызовами FireLightOn/Off() меняются цвета нужных лампочек, затем вызовом EndTrayLights() работа завершается. Последний вызов может быть опущен, т.к. он происходит и из деструктора.

Методы SetOffColor() и FireLightOff() добавлены для гибкости и удобства и могут не вызываться. Кроме того, можно использовать несколько иконок, наращивая число лампочек, для новых иконок достаточно задавать другие iconID.

Как это работает:

Из ICO файла стандартной иконки 16х16х16 выдрано примерно 300 байт, которые во время выполнения модифицируются, когда меняются значения цвета и прозрачности. Из этой цепочки байт создются иконки. При задании цвета сначала создается новая иконка, затем она заменяет ту, которая уже в трее, затем старая освобождается по сохраненному дескриптору. Работа с байтовой цепочкой неочевидна, но код получается компактным и быстрым.

 

Downloads

Загрузить демонстрационный проект - 14 Kb