В папке скина должны быть следующие файлы: · SystemInformation32.exe – эмулятор меню для тестирования на ПК (для работы программы на навигаторе не нужен); · SystemInformation.exe – файл запуска меню на навигаторе; · SystemInformation.ini – файл настройки, в данном файле указывается путь к основному .ini файлу меню (используются абсолютные и относительные пути. Переименование файла не допускается). Файлы .ini должны быть сохранены в формате «Юникод». Пример структуры меню:
Переход из одного уровня в другой осуществляется путем задания значения параметра NewIni = [строка], см. раздел «Кнопка» элемент BUTTON. Переход может быть выполнен из как из высшего уровня в низший, так и наоборот. Любой .ini файл состоит из двух частей: · Основные настройки окна (размер окна, положение окна относительно других окон, эффекты анимации при вызове/закрытии окна и т.д.), элемент GLOBALSETTINGS; · Описание кнопок и т.д. РЕКОМЕНДАЦИИ: · В .ini файле «уровня 0» прописать кнопку выхода из меню (параметр QuitOnExecute = yes); · Прописывать для каждого элемента комментарии. Строка, начинающаяся со знака «#» игнорируется; · По возможности обходится минимальным количеством уровней вложений – меню => подменю => подподменю => и т.д. Иначе есть вероятность, что вы просто заблудитесь в лабиринтах собственного меню. · Для обеспечения гарантированного срабатывания кнопок при нажатии пальцем, задавать минимальный размер кнопки не менее 30х30 (при использовании стилуса размер м.б. меньше); · Не использовать в качестве фонового рисунка картинки с высокой детализацией, фотографии и т.п., так как это мешает общему восприятию картинки меню. Для фона лучше использовать градиенты, текстуры материалов и т.п. · Задавать абсолютный путь до исполняемого файла. Для изображения рисунка кнопки или .ini файла задавать относительный путь, если изображения кнопок и .ini файлы находятся в подпапке меню SystemInformation. · Параметр command задавать в конце описания элемента, иначе есть вероятность, что работать не будет.
Пример ссылки на исполняемый файл (аналогично задаются пути для изображений кнопок, .ini файлов): - Абсолютный путь – "\sdmmc\igo8\iGO.exe" - То же, относительный путь задается следующим образом: Допустим файл iGO.exe находится по адресу –> \sdmmc\igo8\iGO.exe Меню находится по адресу –> \sdmmc\data\menu_SI\SystemInformation.exe Относительный путь выглядит следующим образом –> "../../../igo8/iGO.exe" ../ –> искать в папке в которой расположен файл SystemInformation.exe (в папке menu_SI); ../../ –> искать в папке расположенной выше папки с файлом SystemInformation.exe (в папке data); ../../../ –> искать в папке выше папки с файлом SystemInformation.exe на 2 уровня (на диске sdmmc) и т.д. Записью ../ прописывается необходимый уровень вверх от текущего местоположения файла SystemInformation.exe. · Примеры значений параметров: Тип Описание Примеры [число] Может принимать только целые значения: 10 32 -42 [bool] Значения отличные от 1, Y, YES воспринимаются как «ложь» No Yes [строка] Один или несколько символов hh':'mm':'ss Courier New \ background.bmp [цвет] Значение цвета указывается в шестнадцатеричной системе исчисления (RRGGBB) FF0000 00FF00 0C43E8 [анимация] Возможные варианты: FlyLeft FlyRight FlyUp FlyDown FlyDiagLeftUp FlyDiagLeftDown FlyDiagRightUp FlyDiagRightDown RollDown NoAnimation
3. Основные настройки
GLOBALSETTINGS
Определяет основные настройки окна. Данный элемент должен быть в каждом .ini файле меню, параметры в каждом .ini файле могут отличаться друг от друга. - ShowMessage = 0 ? Отображение сообщений (назначение не известно) - BackgroundColor = [цвет] Определяет цвет фона - Width = [число] Задает ширину окна в пикселях. - Height = [число] Задает высоту окна в пикселях. - X = [число] Задает расстояние от левого края экрана в пикселях. Если значение отрицательное – от правого края экрана. - Y = [число] Задает расстояние от верхнего края экрана в пикселях. Если значение отрицательное – от нижнего края экрана. - BackgroundBitmap = [строка] Фоновый рисунок. В параметре указывается абсолютный путь к файлу рисунка. - BitmapOffsetX = [число] Отступ от края экрана по оси Х. Подробнее см. http://www.ultimatelaunch.de/systeminforma...alsettings.html - BitmapOffsetY = [число] Отступ от края экрана по оси Y. Подробнее см. http://www.ultimatelaunch.de/systeminforma...alsettings.html - Border = [число] Определяет толщину границы вокруг окна в пикселях. Значение должно быть положительным. - Arrange = [значение] Задает автоматическое выравнивание. Значение имеет следующие варианты: Vertical – размещение элементов в один столбец; Horizontal – размещение элементов в одину строку (не работает); No – без выравнивания (значение с маленькой буквы no программа почему то не понимает). - Distance = [число] Определяет расстояние между отдельными элементами в пикселях, если используется автоматическое выравнивание. - QuitOnDoubleClick = [Bool] Разрешает (yes) / запрещает (no) выход из меню при двойной клике на свободном поле экрана. - StartUpAnimation = [анимация] Определяет эффект анимации при старте программы. - ShutDownAnimation = [анимация] Определяет эффект анимации при выходе из программы. - Accelerated = [Bool] Разрешает (yes) / запрещает (no) улучшение анимации. - AnimationTime = [число] Определяет время длительности анимации в миллисекундах. - TopMost = [Bool] Разрешает (yes) / запрещает (no) режим отображения активного окна поверх всех окон.
4. Текст
TEXT
Вывод на экран произвольного текста. - Color = [цвет] Определяет цвет текста. - FrameColor = [цвет] Определяет цвет контура текста. - Text = [строка] Выводит на экран текст, указанный в параметре. - Font = [строка] Задает тип используемого шрифта. В значении указывается имя шрифта. Если данный параметр отсутствует используется шрифт по умолчанию. - Size= [число] Задает размер шрифта в пикселях. - Weight = [число] Задает толщину шрифта. При значениях более 700 – жирный шрифт. - CreateFont При отсутствии данной строки параметр Size не учитывается. - X = [число] Задает расстояние от левого края экрана в пикселях. Если значение отрицательное – от правого края экрана. Игнорируется в случае автоматического позиционирования элементов. - Y = [число] Задает расстояние от верхнего края экрана в пикселях. Если значение отрицательное – от нижнего края экрана. Игнорируется в случае автоматического позиционирования элементов.
5. Часы
TIME
Вывод часов. - Format = [строка] Определяет формат вывода часов. Возможные значения: h - Часы, ноль, для однозначной цифры, не выводится, 12-часовой формат hh - Часы, 12-часовой формат H - Часы, ноль, для однозначной цифры, не выводится, 24-часовой формат HH - Часы, 24-часовой формат m - Минуты, ноль, для однозначной цифры, не выводится mm - Минуты s - Секунды, для однозначной цифры, не выводится ss - Секунды Между апострофами (знак ‘) указывается любой текст. - Interval = [число] Периодичность обновления в миллисекундах, Interval = 1000 соответствует 1-ой секунде. По умолчанию периодичность обновления – каждые 60 секунд. Остальное форматирование аналогично элементу TEXT Атрибуты x, y, Size, Weight обязательны
Пример элемента: 23ч. 59мин. 03 сек.
Code
#часы TIME x = 10 y = 10 Color = FF4040 FrameColor = A52A2A Size = 20 Format = hh'ч. 'mm'мин. 'ss'сек.' Weight = 500 Interval = 1000
6. Дата
DATE
Вывод даты. - Format = [строка] Определяет формат вывода даты. Возможные значения: d - Текущее число, ноль, для однозначной цифры, не выводится dd - Текущее число ddd - Сокращенное название дня недели dddd - Полное название дня недели M - Номер месяца, ноль, для однозначной цифры, не выводится MM - Номер месяца MMM - Сокращенное название месяца MMMM - Полное название месяца y - Последние две цифры года, ноль, для однозначной цифры, не выводится yy - Последние две цифры года yyy - Все цифры года
- Interval = [число] Периодичность обновления в миллисекундах. По умолчанию периодичность обновления каждые 10 минут. Остальное форматирование аналогично элементу TEXT
Пример элемента: 7-07-сб-суббота
#часы DATE x = 10 y = 35 Format = d'-'dd'-'ddd'-'dddd Color = 2F4F4F Size = 19 Weight = 700
7. Объем оперативной памяти
MEMORY
- Color = [цвет] Определяет цвет цвет для TextColor и BorderColor - TextColor = [цвет] Определяет цвет текста. - FrameColor = [цвет] Определяет цвет контура шкалы. - BackgroundColorLow = [цвет] Задает цвет шкалы при оставшейся свободной памяти менее 25%. - BackgroundColorHigh = [цвет] Задает цвет шкалы при оставшейся свободной памяти более 25%. - PhysMemString = [bool] Разрешает (yes) / запрещает (no) отображение текста «Physical Memory». - PhysMemBar = [bool] Разрешает (yes) / запрещает (no) отображение шкалы физической памяти. - CoolPhysMemBar = [bool] Определяет внешний вид отображения шкалы (см. рис.)
- PhysMemValue = [bool] Разрешает (yes) / запрещает (no) отображение количественного значения занятого/максимал-ного объема физической памяти. - PhysMemPercent = [bool] Разрешает (yes) / запрещает (no) отображение процентов на фоне шкалы виртуал-ной памяти. - VirtMemString = [bool] Разрешает (yes) / запрещает (no) отображение текста «Physical Memory». - VirtMemBar = [bool] Разрешает (yes) / запрещает (no) отображение шкалы виртуальной памяти. - CoolVirtMemBar = [bool] Определяет внешний вид отображения шкалы (аналогично CoolPhysMemBar) - VirtMemValue = [bool] Разрешает (yes) / запрещает (no) отображение количественного значения занятого/максимального объема виртуальной памяти. - VirtMemPercent = [bool] Разрешает (yes) / запрещает (no) отображение процентов на фоне шкалы виртуальной памяти. - CenterValue = [bool] Задает выравнивание текста названия и значения контролируемого параметра по центру индикаторной шкалы. Если CenterValue = no выравнивание выполняется по левому краю индикаторной шкалы. - Interval = [число] Переодичность обновления данных в миллисекундах. По умолчанию обновление выполняется каждые 10 минут. - X = [число] Задает расстояние от левого края экрана в пикселях. Если значение отрицательное – от правого края экрана. Игнорируется в случае автоматического позиционирования элементов. - Y = [число] Задает расстояние от верхнего края экрана в пикселях. Если значение отрицательное – от нижнего края экрана. Игнорируется в случае автоматического позиционирования элементов. - Width = [число] Задает ширину шкалы в пикселях. - Height = [число] Задает высоту шкалы в пикселях.
Для отображения только физической памяти параметры CoolVirtMemBar, VirtMemString, VirtMemValue, VirtMemPercent убрать из описания элемента, либо поставить значение no. Для отображения только виртуальной памяти в параметрах CoolPhysMemBar, PhysMemBar, PhysMemValue, PhysMemString поставить значение no, если параметры стереть из описания элемента статус физической памяти все равно будет выведен на экран.
8. Объем выбранного диска
DISKMEM
- Color = [цвет] Задает цвет для TextColor и BorderColor. - TextColor = [цвет] Задает цвет текста. - FrameColor = [цвет] Задает цвет контура шкалы. - BackgroundColorLow = [цвет] Задает цвет шкалы при заполнении памяти менее 25%. - BackgroundColorHigh = [цвет] Задает цвет шкалы при заполнении памяти более 25%. - Folder = [строка] Задает имя диска за которым ведется наблюдение (SDMMC, ResidentFlash, SLCFlash и т.д., для тестирования на ПК можно указать Folder = С:/ ). - ShowPath = [bool] Разрешает (yes) / запрещает (no) отображение названия контролируемого диска. - Bar = [bool] Не работает? http://www.ultimatelaunch.de/systeminforma...ng/diskmem.html - CoolBar = [bool] Разрешает (yes) / запрещает (no) отображение шкалы. - Percent = [bool] Разрешает (yes) / запрещает (no) отображение процентов на фоне шкалы. - Value = [bool] Разрешает (yes) / запрещает (no) отображение количественного значения занятого/максимального объема диска. - CenterValue = [bool] Задает выравнивание текста названия и значения контролируемого параметра по центру индикаторной шкалы. Если CenterValue = no выравнивание выполняется по левому краю индикаторной шкалы. - Interval = [число] Задает периодичность обновления данных в миллисекундах. По умолчанию обновление выполняется каждые 10 минут. - X = [число] Задает расстояние от левого края экрана в пикселях. Если значение отрицательное – от правого края экрана. Игнорируется в случае автоматического позиционирования элементов. - Y = [число] Задает расстояние от верхнего края экрана в пикселях. Если значение отрицательное – от нижнего края экрана. Игнорируется в случае автоматического позиционирования элементов. - Width = [число] Задает ширину шкалы в пикселях. - Height = [число] Задает высоту шкалы в пикселях.
10. Батарея
BATTERY
- ColorBattery = [цвет] Задает цвет фона батареи. - ColorCritical = [цвет] Задает цвет минимального заряда батареи – 0…33%. - ColorLow = [цвет] Задает цвет среднего заряда батареи – 34…66%. - ColorHigh = [цвет] Задает цвет максимального заряда батареи – 67…100%. - CoolBattery = [bool] Определяет внешний вид отображения батареи (см. рис.)
- ColorArrow = [цвет] Определяет цвет молнии на батарейке - Segments = [число] Количество сегментов батареи. - Test = [bool] Разрешает (yes) / запрещает (no) режим тестирования. В режиме тестирования поочередно показываются все стадии заряда батареи. - Interval = [число] Задает период обновления данных в миллисекундах. По умолчанию обновление выполняется каждые 10 минут. - X = [число] Задает расстояние от левого края экрана в пикселях. Если значение отрицательное – от правого края экрана. Игнорируется в случае автоматического позиционирования элементов. - Y = [число] Задает расстояние от верхнего края экрана в пикселях. Если значение отрицательное – от нижнего края экрана. Игнорируется в случае автоматического позиционирования элементов. - Width = [число] Задает ширину шкалы в пикселях. - Height = [число] Задает высоту шкалы в пикселях.
11. Кнопка
BUTTON
Создает невидимую активную область, при клике на которой, выполняется команда. - Command = [строка] Вызов программы. В значении указывается абсолютный путь до исполняемого файла. Пример: Command = \sdmmc\MENU_SI\Utils\PowerOff.exe - NewIni = [строка] Обращение к другой странице меню. Пример: NewIni = ..\Main\Games.ini - ShutDownAnimation = [анимация] Задает эффект анимации. - QuitOnExecute = [bool] Разрешает (yes) / запрещает (no) выход из программы при клике на кнопке. Если в описании кнопки присутствует параметр Command = [строка], меню закроется после запуска указанной в Command программы. - X = [число] Задает расстояние от левого края экрана в пикселях. Если значение отрицательное – от правого края экрана. Игнорируется в случае автоматического позиционирования элементов. - Y = [число] Задает расстояние от верхнего края экрана в пикселях. Если значение отрицательное – от нижнего края экрана. Игнорируется в случае автоматического позиционирования элементов. - Width = [число] Задает ширину активной зоны. - Height = [число] Задает высоту активной зоны.
Пример элемента:
Code
#вызов Taskbar BUTTON x = 0 y = 0 Height = 12 Width = 320 Command = "\SDMMC\ShowTaskbar.exe"
12. Кнопка IconXP
ICONXPBUTTON
Для отображения внешнего вида кнопки используются файлы .ico. - SizeNormal = [число] Задает размер кнопки в состоянии покоя. Значение соответствует размеру иконки из файла .ico. - SizePushed = [число] Задает размер кнопки при нажатии. Значение соответствует размеру иконки из файла .ico. - IconNormal = [строка] Задает путь к файлу с изображением кнопки в состоянии покоя. - IconPushed = [строка] Задает путь до файла с изображением кнопки в нажатом состоянии. - Gray = [bool] После нажатия, кнопка становится серой. - Влияние параметров ScaleAlpha, ScaleRed, ScaleGreen, ScaleBlue, AddRed, AddGreen, AddBlue на внешний вид кнопки (см. таблицу) Параметр = [число] Указывается положительное число. Остальные параметры аналогично элементу BUTTON, параметры X, Y обязательны.
Пример элемента:
Code
#выход из меню ICONXPBUTTON x = -20 y = -10 QuitOnExecute = yes SizeNormal = 48 SizePushed = 64 IconNormal = ../Icons/off-power.ico IconPushed = ../Icons/off-power-on.ico
13. Кнопка Bitmap
BITMAPBUTTON
Для отображения внешнего вида кнопки используются файлы с растровыми изображениями .bmp. - BitmapNormal = [строка] Задает путь к файлу с изображением кнопки в состоянии покоя. - BitmapPushed = [строка] Задает путь к файлу с изображением кнопки в нажатом состоянии. - Offset = [число] Задает смещение изображения кнопки в пикселях при нажатии на нее. Остальные параметры аналогично элементу BUTTON, параметры X, Y, Width, Height обязательны.
Упрощенный вид кнопки, рисунок для кнопки не требуется. - ColorNormal = [цвет] Задает цвет кнопки в состоянии покоя. - ColorPushed = [цвет] Задает цвет кнопки в нажатом состоянии. - Text = [строка] Вывод текста на фоне кнопки. Остальные параметры аналогично элементу BUTTON, параметры X, Y, Width, Height обязательны.
Code
#кнопка info WINDOWSBUTTON x = 135 y = 90 Width = 60 Height = 20 Text = Кнопка Windows ColorNormal = FF4040 ColorPushed = 8B2323 NewIni =
Путь менял путём массового поиска и замены строки по всем папкам скина специальной утилиткой (название сейчас не скажу - не помню, проги нет под рукой)
а можете вспомнить? не помешала бы такая утилитка в хозяйстве
Эти пользователи поблагодарили 456 за это полезное сообщение:
456, просто писал с работы, там её нет... прогу звать "Actual Search & Replace" но она "шароварная" и вообще не понравилась - сегодня стал проверять пути и оказалось что она *.ini вообще не трогала, поэтому оболочка Skoro и не работала как надо... пришлось все "инишки" руками править благо есть мой любимый AkelPad, в котором можно открыть стопицот файлов и заменить одну фразу на другую во всех файлах сразу.
P.S. чтобы не было чистым оффтопом: в дополнение к предыдущему посту - после проверки и изменения пути во ВСЕХ .ini и .mscr файлах эта оболочка от skoro заработала и на ResidentFlash. пока не могу 100% сказать что она полностью работает, но из того что я проверял всё сработало как надо (запуск программ страницы "Система", навигация, изменение скина и изменение количества кнопок программ навигации). Не хватает только соответствующей скину иконки Shturmann'a, а кроме этого - всё замечательно
P.P.S. 456, я всё ещё ищу норм программку для массового изменения файлов, где-то недавно натыкался на бесплатную такую, которую очень хвалил народ, но тогда оно не надо было... Можно поспрашивать у братьев Гугл и Яндекс что-нить вроде "изменение нескольких файлов" или "замена текста в нескольких файлах"... Оказывается у Notepad++ есть такая функция - поиск и замена текста во всех файлах в заданной папке (с подпапками или без них), уже несколько лет им пользуюсь и не знал этого
Сообщение отредактировал Torb - Понедельник, 14.02.2011, 08:41
Эти пользователи поблагодарили Torb за это полезное сообщение:
Дата: Воскресенье, 15.05.2011, 19:36 | Сообщение # 43
Посетитель
Группа: Пользователи
Сообщений: 6
Статус:
skoro, я скачал ваше меню с рутракера. по сути дела: 1. делаю подмену - перед запуском вашего меню включается рабочий стол (на пару секунд) и потом только само меню. можно ли это устранить? 2. когда вношу изменения в реестр (через красный квадратик в настройках), сначала вроде бы все нормально - пишет что после сна надо его разбудить и продолжится операция, но после пробуждения выходит данное сообщение - "Application MortScript.exe encountered a serious error and must shut down". 3. такое же сообщение выходит при попытке запуска некоторых программ, игры арчибальд (остальные нормально), и запуска программы навител, хотя в настройках navitel.mscr я прописал где находится программа.
ваше меню распоковал в корень флешки, флешка называется SDMMC. навигатор у меня BBK N4326, система WinCE 6. заранее благодарен!
Эти пользователи поблагодарили wanesss777 за это полезное сообщение: