1. Плагин для программы TimeReminder - это сомостоятельное приложение Windows, выполняющееся в собственном программном потоке, поддерживающее двустороннюю связь с пргограммой TimeReminder при помощи специальных оконных сообщений и дополняющее/расширяющее основной функционал программы. 2. Для старта в системе, плагин должен быть: a) откомпилирован как EXE-модуль; b) иметь расширение "DLL"; c) находиться в собственном каталоге; d) каталог с плагином должен располагаться по пути: TimeReminder\Plugins\ 3. Протокол инициализации плагина: a) TimeReminder запускает плагин, и передаёт ему в переменную окружения "командная строка" идентификатор окна для получения сообщений от плагина (hWnd окна, которому плагин будет направлять свои сообщения); b) Получив hWnd окна для связи с TimeReminder, плагин должен послать сообщение о регистации себя, передав в этом сообщении hWnd одного из своих окон, предназначенного для получения сообщений от TimeReminder с целью поддержания двусторонней связи; c) В ответ на регистрацию, полученному от плагина hWnd придёт сообщение, содержащее уникальный идентификатор, который плагин должен будет использовать при передаче всех остальных сообщений в TimeReminder; 4. Поскольку модуль плагина является самостоятельной программой, то ответственность за его выгрузку из памяти (завершение работы) лежит полностью на нём! Если плагин не планирует продолжать работу после завершения работы TimeReminder, то он должен уметь реагировать на сообщение о прекращении работы, которое TimeReminder рассылает всем плагинам на этапе собственной выгрузки (команда плагину: "Shw0"). 5. Для обмена сообщениями используется функция Windows API: SendMessage hWnd, WM_SETTEXT, wParam, lParam; Где: * wParam=0; * lParam=ТекстовоеСообщение; Где: ** ТекстовоеСообщение - набор параметров, передаваемый между модулями; ** (в качестве разделителя параметров принят символ: "|" (ACII код 7Ch)); -------------------------------------------------------------------------------- Схема запуска/регистрации плагина выглядит так: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Запускаем TimeReminder (дальше просто: TR) TR запускает -> "Plugin.dll TR_hWnd" Plugin.dll -> SendMessage TR_hWnd, WM_SETTEXT, 0, "0|Reg1|" & Plugin_hWnd & "|PluginName"; TR -> SendMessage Plugin_hWnd, WM_SETTEXT, 0, "Reg1|" & PluginID; ----------< В дальнейшем все сообщения от плагина снабжаются PluginID-ом >-------- Plugin.dll -> SendMessage TR_hWnd, WM_SETTEXT, 0, "PluginID|Комада|Данные..."; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6. После подтверждения регистрации (получения плагином сообщения "Reg1|PluginID"), плагин получает возможность посылать управляющие команды в TimeReminder и получать сообщения о выполнении запросов. 7. Как уже было описано в схеме запуска плагина, плагин посылает сообщения окну полученному при запуске из переменной "командная строка". Это сообщение вида: SendMessage TR_hWnd, WM_SETTEXT, 0, "PluginID|Комада"; Где: * PluginID - Строка цифр, отражающая идентификатор плагина; * Комада: см. ниже; В ответ плагин получает один из двух типов ответов: a) Если запрашивались данные, то * посланную им команду из запроса (4 символа), * разделитель "|" (1 символ) и * запрошенные данные (если несколько блоков, то тоже разделённые так же символом-разделителем); b) Если запрашивалось действие, то код выполнения: "Err000" - код ошибки 6 символов, из которых 3 последние представляют символьный цифровой код. Если код="000", значит действие выполнено без ошибок; разделитель "|" (1 символ) и ErrDescription - текстовый описатель ошибки. Если ErrDescription="0k!", значит действие выполнено без ошибок; *) Если диспетчер команд не поймёт запрос или обнаружит нарушение синтаксиса, то плагин, так же как и в случае b) получит сообщение с кодом и описанием ошибки; 8. Описание структуры команд. Команда-запрос состоит из групп символов разделённых символом "|" (ACII код 7Ch): a) Первая группа символов (4 символа) собственно команда-запрос; Эта группа тоже имеет структуру: 1-ый символ - тип запроса, дальше два символа, уточняющих действие; последний символ конкретизирует запрос и отсутствие/необходимость дополнительных данных; b) Затем, ТОЛЬКО ЕСЛИ В ЗАПРОСЕ ПЕРЕДАЮТСЯ ДОПОЛНИТЕЛЬНЫЕ ДАННЫЕ, идёт разделитель "|" (1 символ); c) Данные (если есть); 9. Команды-запросы: Все команды, если не оговорено обратное, рассматриваются со стороны плагина **************************************************************************** * Группа команд: 'Reg' * **************************************************************************** Reg1 -> Регистрация плагина (с версии 1.07) ----------------------------------- Плагин отправляет: Reg1|hWnd|PluginName "Reg1" - Команда; hWnd - Строка цифровых символов (номер), отражающих хэндл окна, которое будет получать сообщения от TimeReminder; PluginName - Символьное имя плагина, которое будет видно пользователю; Плагин получает: Reg1|PluginID "Reg1" - Возврат выполненной команды; PluginID - Строка цифровых символов (номер), выдаваемый плагину в ответ на регистрацию; Reg0 -> Разрегистрация плагина (с версии 1.07) -------------------------------------- Плагин отправляет: Reg0|PluginID "Reg0" - Команда; PluginID - Строка цифровых символов (номер), выданный плагину в ответ на регистрацию командой "Reg1"; Плагин получает: Reg0|0 **************************************************************************** * Группа команд: 'Set' * **************************************************************************** * Подгруппа: служебные * ************************ Shw0 <- Выход (выгрузка) (с версии 1.07) -------------------------------- Плагин получает: Shw0 Ответное действие: Завершение работы (выход) Sin1 <- Вызов настроек плагина (с версии 1.07) -------------------------------------- Плагин получает: Sin1 Ответное действие: Отображение окна настроек ********************************* * Подгруппа: Управление скинами * ********************************* Ssk№ -> Установить скин с индексом № (где № - дес.номер скина [0...n]) (с версии 1.07) ------------------------------------------------------------------------------ Плагин отправляет: PluginID|Ssk№ PluginID - Идентификатор плагина; Ssk - Начало команды SetSkin № - дес.номер (строковое выражение) скина [0...n] Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) SskN -> Установить следующий (Next) скин (с версии 1.07) ------------------------------------------------ Плагин отправляет: PluginID|SskN Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) SskP -> Установить предыдущий (Previous) скин (с версии 1.07) ----------------------------------------------------- Плагин отправляет: PluginID|SskP Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) SskS -> Установить первый (Start) скин (с версии 1.07) ---------------------------------------------- Плагин отправляет: PluginID|SskS Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) SskE -> Установить последний (End) скин (с версии 1.07) ----------------------------------------------- Плагин отправляет: PluginID|SskE Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) SskR -> Пересчитать текущий скин (Reload) (с версии 1.07) ------------------------------------------------- Плагин отправляет: PluginID|SskR Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) SskC -> Выбрать (установить) скин и стиль скина (Choose) (с версии 1.08) ---------------------------------------------------------------- Плагин отправляет: PluginID|SskC|sk№|st№ параметры: sk№ - дес.номер (строковое выражение) скина [0...n] st№ - дес.номер (строковое выражение) стиля [0...n] Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) *************************************** * Подгруппа: Управление стилями скина * *************************************** Sst№ -> Установить стиль скина с индексом № (где № - дес.номер стиля [0...n]) (с версии 1.07) ------------------------------------------------------------------------------------- Плагин отправляет: PluginID|Sst№ PluginID - Идентификатор плагина; Sst - Начало команды SetStyle № - дес.номер (строковое выражение) стиля [0...n] Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) SstN -> Установить следующий (Next) стиль скина (с версии 1.07) ------------------------------------------------------- Плагин отправляет: PluginID|SstN Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) SstP -> Установить предыдущий (Previous) стиль скина (с версии 1.07) ------------------------------------------------------------ Плагин отправляет: PluginID|SstP Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) ************************************** * Подгруппа: Управление будильниками * ************************************** Sbd№ -> Установить параметры будильника с индексом № (где № - номер будильника [1...4]) (с версии 1.07) ----------------------------------------------------------------------------------------------- Плагин отправляет: PluginID|Sbd№|Time(h:n:s)|Active|strRing или PluginID|Sbd№|Active параметры: Time(h:n:s) - время срабатывания будильника в формате: Час:Минута:Секунда Active - установка активности: 0 - будильник отключен (не сработает) 1 - будильник активен/включен strRing - путь к проигрываемому файлу при срабатывании будильника (файл должен быть доступен программе TimeReminder) пояснение: Все цифры отправляются в символьном (строчном) формате. Первый вариант команды допускает наличие только одного параметра: времени или бОльшего числа параметров идущих в указанном порядке. Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) Sbd0 -> Отключить проигрывание сигнала буд-ка (заглушить будильник) (с версии 1.07) --------------------------------------------------------------------------- Плагин отправляет: PluginID|Sbd0 Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) Sbd1 -> Переключение состояния установленных будильников в режиме "Выходные/будни" (с версии 1.07) ------------------------------------------------------------------------------------------ Плагин отправляет: PluginID|Sbd1 Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) ************************************************ * Подгруппа: Сохранение состояния (SaveStatus) * ************************************************ Sss1 -> Сохранение состояния (аналог нажатия клавиши [Enter] в TimeReminder) (с версии 1.07) ------------------------------------------------------------------------------------ Плагин отправляет: PluginID|Sss1 Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) Sss0 -> Сохранение состояния (SaveStatus) (тихое) (с версии 1.07) --------------------------------------------------------- Плагин отправляет: PluginID|Sss0 Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) пояснение: Отличается от предыдущей команды тем, что не издаёт звукового сигнала о сохранении статуса ****************************************************************** * Подгруппа: Управление атрибутами интерфейса (interFaceAttrite) * ****************************************************************** Sfa0 -> Переключение состояния видимости (аналог выбора в меню "Скрыть/Отобразить") (с версии 1.07) ------------------------------------------------------------------------------------------- Плагин отправляет: PluginID|Sfa0 Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) Sfa1 -> Переключение состояния OnTop (аналог выбора в меню "Впереди") (с версии 1.07) ----------------------------------------------------------------------------- Плагин отправляет: PluginID|Sfa1 Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) Sfa2 -> Переключение состояния фиксирования элементов интерфейса (аналог выбора в меню "Фиксировать элементы") (с версии 1.07) ---------------------------------------------------------------------------------------------------------------------- Плагин отправляет: PluginID|Sfa2 Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) Sfa3 -> Переключение состояния блокирования интерфейса (аналог выбора в меню "Блокировать интерфейс") (с версии 1.07) ------------------------------------------------------------------------------------------------------------- Плагин отправляет: PluginID|Sfa3 Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) SfaT -> Установка параметров прозрачности/затемнения (Transparent) (с версии 1.07) -------------------------------------------------------------------------- Плагин отправляет: PluginID|SfaT|Sets|LBound|UBound|TransTrue параметры: Sets - устанавливаемое значение прозрачности (полученное командой "GfaT" из списка доступных значений) LBound - Нижняя граница прозрачности, включаемая клавишей [F7] в TimeReminder (см. файл помощи к программе) UBound - Верхняя граница ---//-------//-------//-------//--------//----------//---------//--------//------- TransTrue - Установка атрибута прозрачности: 0 - включает затемнение интерфейса 1 - включает прозрачночть интерфейса пояснение: Команда может содержать от 1 до 4 параметров (не обязательно указывать все пар-ры, но, важно, чтобы параметры располагались попорядку) Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) SfaB -> Установка параметров яркости (Brightness) (с версии 1.07) --------------------------------------------------------- Плагин отправляет: PluginID|SfaB|Sets|LBound|UBound параметры: Sets - устанавливаемое значение яркости (полученное командой "GfaB" из списка доступных значений) LBound - Нижняя граница яркости, включаемая клавишей [F8] в TimeReminder (см. файл помощи к программе) UBound - Верхняя граница ---//-------//-------//-------//--------//----------//---------//--------//------- пояснение: Команда может содержать от 1 до 3 параметров (не обязательно указывать все пар-ры, но, важно, чтобы параметры располагались попорядку) Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) ******************************************************************* * Подгруппа: Управление атрибутами текстовых элементов (Elements) * ******************************************************************* Sec№ -> Установка параметров цвета (ElementColor) n-ного элемента, где №=(0-7) номер элемента (с версии 1.07) ----------------------------------------------------------------------------------------------------- Принятые в TimeReminder номера текстовых элементов: 0 - Часы, 1 - Месяц, 2 - День недели, 3 - Температура 4 - Год, 5 - Copyright, 6 - Секунды, 7 - День месяца ------------------------------------------------------ Плагин отправляет: PluginID|Sec№|ЦветШрифта|ЦветТени|РазмерТени параметры: Все параметры цвета отправляются в формате "&HBBGGRR" где: &H-шестнадцатиричный префикс BBGGRR-Интенсивности(от 00 до FF) компонентов цвета BB-Синего, GG-Зелёного и RR-Красного РазмерТени - в пикселах пояснение: Команда может содержать от 1 до 3 параметров (не обязательно указывать все пар-ры, но, обязательно попорядку) Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) Sep№ -> Установка положения (ElementPosition) n-ного элемента, где №=(0-7) номер элемента (с версии 1.07) ------------------------------------------------------------------------------------------------- Плагин отправляет: PluginID|Sep№|Left|Top|Width|Height параметры: отступы Слева и Сверху (от левой верхней точки окна TimeReminder), Ширина и Высота области элемента соответственно (все значения в пикселах) пояснение: Команда может содержать от 1 до 4 параметров (не обязательно указывать все пар-ры, но, обязательно попорядку) Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) Sef№ -> Установка параметров шрифта (ElementFont) n-ного элемента, где №=(0-7) номер элемента (с версии 1.07) ----------------------------------------------------------------------------------------------------- Плагин отправляет: PluginID|Sef№|Size|Name|Bold|Italic|ChrSet параметры: Size - Размер шрифта (в пунктах) Name - Имя шрифта в системе (НЕ имя файла) Bold,Italic - атрибуты шрифта Жирный и Наклонный (0 - атрибут Откл., 1 - атрибут Вкл.) ChrSet - Код набора символов (должен поддерживаться шрифтом) пояснение: Команда может содержать от 1 до 5 параметров (не обязательно указывать все пар-ры, но, обязательно попорядку) Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) Sev№ -> Установка атрибутов отображения (ElementView) n-ного элемента, где №=(0-7) номер элемента (с версии 1.07) --------------------------------------------------------------------------------------------------------- Плагин отправляет: PluginID|Sev№|Visible|AutoSize|Align|Border параметры: Visible - атрибут видимости элемента на экране (0 - Скрыть, 1 - Отобразить) AutoSize - Авторазмер области отображения элемента в соответствии с размером отображаемого текста. (0 - атрибут Откл., 1 - атрибут Вкл.) Align - Расположение текста внутри отведённого поля (0 - от Левой границы, 1 - от Правой границы, 2 - от Центра) Border - Отображение рамки, ограничивающей элемент (0 - Скрыть рамку, 1 - Отобразить) пояснение: Команда может содержать от 1 до 4 параметров (не обязательно указывать все пар-ры, но, обязательно попорядку) Плагин получает: ErrXXX|ErrDescription (Код выполнения/ошибки см. раздел 7b) **************************************************************************** * Группа команд: 'Get' * **************************************************************************** * Подгруппа: служебные * ************************ Ghw0 -> Запрос hWnd главного окна: (с версии 1.07) ------------------------------------------ Плагин отправляет: PluginID|Ghw0 Плагин получает: Ghw0|TR_Main_hWnd Данные: TR_Main_hWnd - hWnd Главного окна TimeReminder (десятичная строка цифр значения хэндла окна) Ghw1 -> Запрос hDC главного окна: (с версии 1.07) ----------------------------------------- Плагин отправляет: PluginID|Ghw1 Плагин получает: Ghw1|TR_Main_hDC Данные: TR_Main_hDC - hDC Главного окна TimeReminder (десятичная строка цифр значения хэндла графического контекста) Gvr? -> Запрос версии TimeReminder: (с версии 1.08) ------------------------------------------- Плагин отправляет: PluginID|Gvr0 Плагин получает: Gvr?|VerMajor|VerMinor|VerBuild Данные: VerMajor - Старшее число версии TimeReminder (десятичная цифра) VerMinor - Младшее число версии TimeReminder (две десятичных цифры) VerBuild - Номер компиляции текущей версии TimeReminder (десятичная строка цифр) (Если на этот запрос возвращается сообщение об ошибке, значит версия ниже 1.08) ********************************* * Подгруппа: Управление скинами * ********************************* Gsk? -> Запрос структуры с описанием отображаемого скина (с версии 1.07) ---------------------------------------------------------------- Плагин отправляет: PluginID|Gsk? Плагин получает: Gsk?|0|n|k|Name|Left|Top|Width|Height|nSelScr|0ScrName|1ScrName...nScrName Данные: 0 - начальный индекс скинов, n - конечный индекс, k - индекс текущего скина Name - Имя (название) скина Left,Top,Width,Height - Расположение и размеры области отображения скина (основного окна TimeReminder) в пикселах экрана nSelScr - Номер отображаемого стиля скина (="0", если стиль у скина единственный) 0ScrName,1ScrName...nScrName - Список названий (имён) стилей скина Gsk№ -> Запрос структуры с описанием n-ного скина (с версии 1.07) --------------------------------------------------------- Плагин отправляет: PluginID|Gsk№ Плагин получает: Gsk№|0|n|k|Name|Left|Top|Width|Height|nSelScr|0ScrName|1ScrName...nScrName Данные: № - индекс, десятичный номер скина 0...n (описание остальных пар-ов см. команду "Gsk?") Gsk* -> Запрос полного списка скинов (всех структур) (с версии 1.07) ------------------------------------------------------------ Плагин отправляет: PluginID|Gsk* Плагин получает: Gsk*|0|n vbCrLf k|NameStructure vbCrLf k+1|NameStructure vbCrLf k+n|NameStructure Данные: 0,n - см. команду "Gsk?" k, k+1... - последовательный номер описываемого скина, описание структуры которого следует за этим номером vbCrLf - Перевод строки. Пара символов: 0Dh,0Ah - возврат каретки и перевод строки соответственно NameStructure - Последовательность пар-ров, перечисленных в команде "Gsk?", начиная с пар-ра 'Name' ************************************** * Подгруппа: Управление будильниками * ************************************** Gbd№ -> Получить значение n-ного будильника по индексу (где № - десятичный номер будильника 1...4) (с версии 1.07) ---------------------------------------------------------------------------------------------------------- Плагин отправляет: PluginID|Gbd№ Плагин получает: Gbd№|n|dTime(h:n:s)|Active|strRing|iPlaySec|iPlayTimer|fPlayed|fStoped Данные: n = № - индекс будильника (1...4) dTime(h:n:s) - время срабатывания будильника в формате: Час:Минута:Секунда Active - признак активности: 0 - будильник отключен (не сработает) 1 - будильник активен/включен strRing - путь к проигрываемому файлу при срабатывании будильника (файл должен быть доступен программе TimeReminder) iPlaySec - кол-во сек. проигрывания сигнала до автоотключения = 60 * 5 iPlayTimer - текущий обратный счётчик для автоотключения будильника (уменьшается до нуля, если активно проигрывание сигнала будильника) fPlayed - признак проигрывания сигнала будильника (0 или 1, как в пар-ре Active) fStoped - внутренний флаг остановки проигрывания активного будильника для предотвращения повторного срабатывания. Сбрасывается после 15 сек от начала минуты срабатывания будильника Gbd* -> Получить список всех будильников (с версии 1.07) ------------------------------------------------ Плагин отправляет: PluginID|Gbd* Плагин получает: Gbd*|n_Будильник vbCrLf n+1_Будильник... Данные: n, n+1... - последовательный номер описываемого будильника (1...4), описание структуры которого следует за этим номером vbCrLf - Перевод строки. Пара символов: 0Dh,0Ah - возврат каретки и перевод строки соответственно _Будильник - Последовательность пар-ров, перечисленных в команде "Gbd№", начиная с пар-ра 'n' ****************************************************************** * Подгруппа: Управление атрибутами интерфейса (interFaceAttrite) * ****************************************************************** Gfa* -> Запрос битового списка атрибутов интерфейса (с версии 1.07) ----------------------------------------------------------- Плагин отправляет: PluginID|Gfa* Плагин получает: Gfa*|Visible|OnTop|Fix|Block|TransTrue|Brightness Данные: Visible - Видимость TimeReminder (0 - свёрнут в трей, 1 - отображён на экране) OnTop - Атрибут закреплённости интерфейса поверх других окон ('Впереди') Fix, Block - Атрибуты Фиксации элементов и Блокировки интерфейса соответственно (значения: 0 или 1) TransTrue - Признак Прозрачности/Затемнения: 0 - Затемнение, 1 - Прозрачность Brightness - наличие поддержки управления яркостью: 0 - нет поддержки, 1 - поддерживается (обычно, начиная с Windows-7, поддержка осуществлена) GfaT -> Запрос прозрачности/затемнения (Transparent) (с версии 1.07) ------------------------------------------------------------ Плагин отправляет: PluginID|GfaT Плагин получает: GfaT|Sets|LBound|UBound|TransTrue|СписокСтупенейПрозр-ти Данные: Sets - Установленное в TimeReminder значение (0 - 90)% LBound - Нижняя граница прозрачности, включаемая клавишей [F7] в TimeReminder (см. файл помощи к программе) UBound - Верхняя граница ---//-------//-------//-------//--------//----------//---------//--------//------- TransTrue - Признак Прозрачности/Затемнения: 0 - Затемнение, 1 - Прозрачность СписокСтупенейПрозр-ти - Список рекомендуемых градаций прозрачности, разделённых символом "|" (0|10|20...) GfaB -> Запрос параметров яркости (Brightness) (с версии 1.07) ------------------------------------------------------ Плагин отправляет: PluginID|GfaB Плагин получает: GfaB|Sets|LBound|UBound|BrightEnable|СписокСтупенейЯрк-ти Данные: Sets - Установленное в TimeReminder значение (0 - 100)% LBound - Нижняя граница яркости, включаемая клавишей [F8] в TimeReminder (см. файл помощи к программе) UBound - Верхняя граница ---//-------//-------//-------//--------//----------//---------//--------//------- BrightEnable - наличие поддержки управления яркостью: 0 - нет поддержки, 1 - поддерживается (обычно, начиная с Windows-7, поддержка осуществлена) СписокСтупенейЯрк-ти - Список рекомендуемых градаций ярк-ти, разделённых символом "|" (0|10|20...) ******************************************************************* * Подгруппа: Управление атрибутами текстовых элементов (Elements) * ******************************************************************* Gec№ -> Запрос параметров цвета n-ного элемента, где №=(0-7) номер элемента (с версии 1.07) ----------------------------------------------------------------------------------- Плагин отправляет: PluginID|Gec№ Плагин получает: Gec№|n|Цвет|ЦветТени|РазмерТени Данные: №=n - индекс элемента (нумерацию элем-ов см. в команде "Sec№") (описание остальных пар-ов см. в команде "Sec№") Gec* -> Запрос списка параметров цвета текстовых элементов (с версии 1.07) ------------------------------------------------------------------ Плагин отправляет: PluginID|Gec* Плагин получает: Gec*|n_элемент vbCrLf n+1_элемент... Данные: n_элемент = n|Цвет|ЦветТени|РазмерТени vbCrLf - Перевод строки. Пара символов: 0Dh,0Ah - возврат каретки и перевод строки соответственно пояснение: описание параметров см. в запросе "Gec№" Gep№ -> Запрос положения n-ного элемента, где №=(0-7) номер элемента (с версии 1.07) ---------------------------------------------------------------------------- Плагин отправляет: PluginID|Gep№ Плагин получает: Gep№|n|Left|Top|Width|Height Данные: №=n - индекс элемента (нумерацию элем-ов см. в команде "Sec№") (описание остальных пар-ов см. в команде "Sep№") Gep* -> Запрос списка положений элементов (с версии 1.07) ------------------------------------------------- Плагин отправляет: PluginID|Gep* Плагин получает: Gep*|n_элемент vbCrLf n+1_элемент... Данные: n_элемент = n|Left|Top|Width|Height vbCrLf - Перевод строки. Пара символов: 0Dh,0Ah - возврат каретки и перевод строки соответственно пояснение: описание параметров см. в запросе "Sep№" Gef№ -> Запрос параметров шрифта n-ного элемента, где №=(0-7) номер элемента (с версии 1.07) ------------------------------------------------------------------------------------ Плагин отправляет: PluginID|Gef№ Плагин получает: Gef№|n|Size|Name|Bold|Italic|CharSet Данные: №=n - индекс элемента (нумерацию элем-ов см. в команде "Sec№") (описание остальных пар-ов см. в команде "Sef№") Gef* -> Запрос списка параметров шрифта элементов (с версии 1.07) --------------------------------------------------------- Плагин отправляет: PluginID|Gef* Плагин получает: Gef*|n_элемент vbCrLf n+1_элемент... Данные: n_элемент = n|Size|Name|Bold|Italic|CharSet vbCrLf - Перевод строки. Пара символов: 0Dh,0Ah - возврат каретки и перевод строки соответственно пояснение: описание параметров см. в запросе "Sef№" Gev№ -> Запрос атрибутов отображения n-ного элемента, где №=(0-7) номер элемента (с версии 1.07) ---------------------------------------------------------------------------------------- Плагин отправляет: PluginID|Gev№ Плагин получает: Gev№|n|Visible|AutoSize|Align|Border Данные: №=n - индекс элемента (нумерацию элем-ов см. в команде "Sec№") (описание остальных пар-ов см. в команде "Sev№") Gev* -> Запрос списка атрибутов отображения элементов (с версии 1.07) ------------------------------------------------------------- Плагин отправляет: PluginID|Gev* Плагин получает: Gev*|n_элемент vbCrLf n+1_элемент... Данные: n_элемент = n|Visible|AutoSize|Align|Border vbCrLf - Перевод строки. Пара символов: 0Dh,0Ah - возврат каретки и перевод строки соответственно пояснение: описание параметров см. в запросе "Sev№"