Прошивки –  Каталог навигаторов –  Восстановление навигатора

Вернуться   Мир Автомобильных навигаторов > PNA / PND Устройства > Альтернативное меню > Меню System Information
Регистрация ФайлыПравила форумаБан-лист Справка Календарь Поиск Сообщения за день Все разделы прочитаны

 
  


     
Ответ
 
Опции темы
Старый 28.01.2013, 14:37   #1
_SIL_
Старичок
 
Аватар для _SIL_
Доп. информация
Радары System Information v1.6.3 и её доработка

Отличие оригинальных версий SystemInformation Menu 1.6.3 и 1.6.1

Наткнулся в инете на новую версию 1.6.3. Особых отличий от 1.6.1 в ней нет. По мелочи кое-что подправлено.
Полный список изменений неизвестен. Мне удалось выявить следующие отличия:
- BackgroundBitmap можно не указывать (поправлен глюк версии 1.6.1).
- запустить программу по относительному пути как обычно нельзя. Напомню, во многих взломанных версиях SI 1.6.1 (взламывали не профи) народ запускал программы по относительному пути не через Command, а через NewIni. Но при этом новый инишник через NewIni не запускался.
- появились новые символы, которые комментируют строку, например "[". Благодаря этому с конфигом стало можно работать как с обычным инишником с блочной структурой.
пример

Для разработчиков это очень полезная фишка. Структуру ини гораздо удобнее читать и генерировать скриптами, работая с конфигом также как с обычным инишником, а не как с текстовым файлом.
Код:
[GLOBALSETTINGS]
GLOBALSETTINGS =
Arrange = No
X = 0
Y = 0
BackgroundBitmap = fon.bmp
....

[Button1]
ICONXPBUTTON =
x = 20
y = 100
IconNormal = Icons\but1_normal.ico
...


Переработанное SystemInfomation menu 1.6.3 с поддержкой картинок PNG с прозрачностью.

Переработка произведена способом [[Ссылки могут видеть только зарегистрированные пользователи. ]]> [[Ссылки могут видеть только зарегистрированные пользователи. ]]>
НОВЫЕ ВОЗМОЖНОСТИ:
  • совместимость с файлами настроек оригинальной программы
  • везде, в любой секции вместо BMP или ICO можно прописывать PNG и JPG (но прозрачность поддерживается только в секции ICONXPBUTTON)
  • в секции GLOBALSETTINGS добавился новый параметр HideTaskBar. Если указать 1, то при запуске менюшки будет скрываться таскбар;
  • в секции ICONXPBUTTON добавил новые параметры Width, Height и Stretch. Теперь можно указывать картинки произвольного размера.
    Параметры SizeNormal и SizePushed как и раньше задают квадратную область для ненажатой и нажатой картинки,
    Параметры Width и Height задают произвольные размеры области сразу для обеих картинок.
    Параметр Stretch=1...5 указывает, что в случае несовпадения реальных размеров картнки с размерами, заданными в конфиге, картинку нужно растянуть/сжать;
  • при отсутствии картинок надписи "no bitmap" и "no icon" теперь не выводятся;
  • в параметре Commnand можно задавать относительный путь для запуска программ. Путь указывается отностельно папки текущего инишника (также как и для картинок или новых инишников);
  • новый параметр Command- (минус на конце) - работает также как Command, только при запуске программы еще будет скрываться таскбар. Если программа по каким-то причинам не запустилась, таскбар скрываться не будет.
  • все сообщения переведены с немецкого на английский язык
  • в секции GLOBALSETTINGS можно задать имя окну менюшки через новый параметр WindowName . Это позволяет из скрипта общаться с менюшкой, например скрывать, отображать, закрываеть окно, посылать комманды и пр.
  • окну SI можно посылать специальную комманду из скриптов для перечитывания конфигурации после правки текущего инишника! Делается это вот так:
    PostMessage("имя окна SI", HexToNumber("8001"), 0, 0 )
    Никаких убийсв процессов или маускликов на спрятанную кнопку больше не нужно!
  • в инишнике можно прописать таблицу, содержащую ссылки на новые инишники, переход по которым можно сделать из скрипта коммандой
    PostMessage("имя окна SI", HexToNumber("8001"), N, 0 )
    где N - число от 1 до 63 - номер инишника по порядку.
    Таблица инишников прописывается сразу после секции [B]GLOBALSETTINGS[/B] в таком виде:
    BUTTON
    NewIni=Test1.ini

    BUTTON
    NewIni=Test2.ini

    BUTTON
    NewIni=Test3.ini

    и так далее. Всего в таблицу можно внести не более 63 инишников, остальные будут игнорироваться.

  • в качестве фоновой картинки можно использовать сразу несколько полупрозрачных картинок и даже скриншот экрана, которые будут накладываться друг на друга. Всего не более 15 картинок включая скриншот. Пользоваться так:
    Картинки:
    BackgroundBitmap = ..\Pics\overlay.png|xx,yy,ww,hh,stretch (после символа | всё указывается без пробелов)
    xx,yy - координата от начала окна. BitmapOffsetX/Y - игнорируется
    ww,hh - ширина и высота картинки (если нужно их изменить)
    stretch=0-5 - аналогично кнопкам - для растягивания/сжатия на новые размеры

    Скриншот:
    BackgroundBitmap = /SCREEN|xx,yy,ww,hh
    если не указывать |xx,yy то нарисуется с корректным смещением когда заданы BitmapOffsetX/Y

    Пример фона из нескольких картинок:
    BackgroundBitmap = /SCREEN
    BackgroundBitmap = ..\res\8x8.png|0,0,480,272,1
    BackgroundBitmap = ..\res\top.png|0,0
    BackgroundBitmap = ..\res\fon.jpg|50,88,366,56
    BackgroundBitmap = ..\res\fon2.png|10,220,460,20,1


  • У кнопки ICONXPBUTTON появилась текстовая надпись, аналогичная WINDOWSBUTTON!
    У этих двух типов кнопок появились новые параметры:
    TxtOffsetX - отступ по горизонтали, начиная с которого текстовая надпись будет отображаться на кнопке.
    TxtOffsetY - тоже, но по вертикали.
    TxtColor2 - цвет надписи когда кнопка нажата
    Например, чтобы текст был под картинкой, в параметре Height нужно указать число, больше чем высота картинки и задать параметр TxtOffsetY. При этом кнопка будет нажиматься даже при нажатии на текстовую надпись!

  • В глобальной секции параметром Sound можно задать wav-файл, озвучивающий нажатия кнопок.
  • В секции TIME параметром CloseTimer=(1-255) можно задать количество секунд, через которое менюшка автоматически закроется если не нажимать на экран. При этом на экране будет отображаться обратный отсчет в стандартном формате секции TIME. (см. пример)
  • В секции TIME параметром StartTimer=(0/1) или (yes/no) можно отобразить счетчик секунд с момента старта менюшки.
  • В секции TIME параметром FlashText=(0/1) или (yes/no) можно сделать текст мигающим. Мигание будет с интервлом, заданным через параметр Interval.
  • В любом месте инишника можно прописать секцию END. Это укажет менюшке что всё что написано после этой секции считывать не нужно.
  • При отсутствии файла SysInfoSettings.ini, содержащий список конфигурационных ини-файлов, будет предпринята попытка прочитать ини-конфиг с имененем экзешника. См. Пример 2 в архиве.
  • Чтобы шрифт был сглаженным, нужно указать параметр CreateFont+. Без "+" на конце шрифт будет как и раньше, несглаженный.

Естественно все эти новые фишки доступны только на навигаторе и не поддерживаются на ПК программой-эмулятором SystemInfomation32.exe.


Картинки ICO и BMP прога загружает своим старым способом. Остальные картинки загружаются системными средствами MS Imaging API. Для этого в системе должны быть библиотеки imaging.dll и zlib.dll. Практчески на всех навиках они сейчас есть.
В архиве Imaging_Install.rar (см. вложения) содержится установочный комплект ImagingApi для любой версии WinCE. Но даже если ImagingApi не поддерживается, то для 24 и 32-битных PNG со сжатем Хоффмана (стандарт фотошопа) в SI присутствует второй способ загрузки PNG, не требующий никаких длл. Этот способ взят c [[Ссылки могут видеть только зарегистрированные пользователи. ]]>



Вам надоели тонны килобайт BMP и ICO, которые занимают ваши менюшки? Тогда мы идем к вам!

Что мы имеем в результате в цифрах:
  • fon.bmp=390кб --> fon.jpg=13кб, размер уменьшен в 30 раз;
  • 0.ico=160кб --> 0.png=9кб, размер уменьшен в 18 раз;
  • fon2.bmp=390кб --> fon2.png=4кб, размер уменьшен почти в 100 раз!
А если таких картинок/иконок с полсотни? А если разрешение экрана высокое - 800х480??? Есть повод задуматься.
Вложения
Тип файла: rar Imaging_Install.rar (174.0 Кб, 477 просмотров)
Тип файла: rar SysInfo_1.6.3.20_Samples.rar (241.4 Кб, 407 просмотров)
_SIL_ вне форума  
Старый 06.07.2015, 22:40   #181
olegwulf
Новичок
Доп. информация
По умолчанию

То есть, запустить два SI один поверх другого не проблема, а запустить просто новую страничку меню (но меньшего размера) поверх уже открытой-сложновато?
olegwulf вне форума  
Старый 06.07.2015, 22:53   #182
kuliabusia
Новичок
Доп. информация
По умолчанию

Если есть решение [[Ссылки могут видеть только зарегистрированные пользователи. ]]>
kuliabusia вне форума  
Старый 07.07.2015, 21:33   #183
_RUSER_
Куратор
 
Аватар для _RUSER_
Доп. информация
По умолчанию

Не могу понять в чём ошибка...
Нужно переместить содержимое папки level\3 в ini, но вместо этого копируются все папки из level...
В ICONXPBUTTON прописан запуск с аргументом:

Command="..\menu\LoadLevel.exe" 3

А скрипт его не видит...
[[Ссылки могут видеть только зарегистрированные пользователи. ]]> Или скрипт неправильно отрабатывает, или всё же SI не выдаёт ему аргумент, или команды в скрипте неправильные..., уже всю голову сломал...?
_RUSER_ вне форума  
Старый 08.07.2015, 00:23   #184
YuS
Любознательный
Доп. информация
По умолчанию

Цитата:
Сообщение от _RUSER_ Посмотреть сообщение
Не могу понять в чём ошибка...

Там MortRun.exe используется модифицированный (возьми из комплекта примера, его можно переименовывать также как стандартный).
В общем, чтобы параметры передавались, строка запуска должна быть:
Код:
Command="..\menu\MortRun.exe" "..\menu\LoadLevel.mscr" 3
для проверки добавь строки перед копированием:
msg="TAP: " & tap & "; ARGV[N]: " & argv[1] & "; ARGC: " & argc
BigMessage( msg )
YuS вне форума  
Пользователь сказал cпасибо:
Старый 08.07.2015, 23:36   #185
Norm
Куратор
 
Аватар для Norm
Доп. информация
По умолчанию

Цитата:
Сообщение от kuliabusia Посмотреть сообщение
Недостаток очевиден. В памяти два процесса SI . И , на сколько я помню, жрет памяти он не кисло

Памяти он жрет не много, а точнее сказать примерно на уровне любой другой оболочки.
НО другие оболочки не имеют такой гибкости и простоты построения. Поэтому все очевидные преимущества на стороне SI
Один загруженный SI потребляет чуть больше 1,1 Мб (у не модифицированной версии было ещё меньше)
Для сравнения iPhoneToday примерно 0,95 Мб, а Wolf NCU примерно 0,9 Мб
Практически все современные аппарат имеют оперативку размером 128Мб
Поэтому 2-4 Мб используемые под SI никакой погоды не делают и можно хоть 10 или 20 разных SI запустить, оперативки хватит на все.
А вот как будет при этом себя процессор вести надо смотреть.

Цитата:
Сообщение от YuS Посмотреть сообщение
Там MortRun.exe используется модифицированный (возьми из комплекта примера, его можно переименовывать также как стандартный).
В общем, чтобы параметры передавались, строка запуска должна быть:

Это не модифицированный. Если мне память не изменяет, то _SIL_ его именно для этого создал. Для корректной передачи параметров и относительных путей

Цитата:
Сообщение от _SIL_
Для запуска скриптов из менюшки всегда используйте программу MortRun.exe!!!
Не прописывайте скриты в инишнике напрямую!

Преимущества использования запуска скриптов через MortRun.exe:
1. Высокая надежность, связанная с тем что MortRun.exe использует указанный вами MortScript.exe,
с которым вы протестировали работу скриптов, а не тот, который зарегистрирован в системе.
Последний может даже вообще отсутствовать.
2. Скриптам можно передавать параметры. Запуская скрипт напрямую вы не сможете этого обеспечить наверняка.

В общем тонкостей ОЧЕНЬ много!
Запуская скрипты через MortRun.exe вы обезопасите себя от возникновения всевозможных подводных камней.
Не делайте так как проще, делайте так как будет надежней!!!


MortRun.exe должен располагаться в той же папке что и ваш MortScript.exe.
Крайне желательно - где-нибудь внутри папки с вашей менюшкой!

Запуск скриптов из меню осуществляется так:
Command="..\Programs\Mort\MortRun.exe" "..\..\Script\Start.mscr" "p1" "P2" "P3"

Путь к MortRun.exe указывается относительно текущего инишника SI
Путь к скрипту указывается не относительно инишника, а относительно MortRun.exe !!!
p1-p3 это параметры которые будут переданы скрипту.
Параметры не содержащие пробелов можно указывать без кавычек.

Norm вне форума  
Старый 21.01.2016, 09:26   #186
leps
Испытатель исписатель
 
Аватар для leps
Доп. информация
По умолчанию

С поддержкой MIPS нет такова меню?
leps вне форума  
Ответ

Метки
hack, menu, png, system infomation

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Азы работы с меню на основе System Information. asterrX Меню System Information 212 11.03.2017 10:17
FAQ по System Information 7kot7 Меню System Information 7 22.12.2015 17:05
Альтернативное ПО для CAMERON-CA585GPS (на основе System Information) Pritorius 480x272 95 18.08.2014 00:01
еще меню-скин-1 экран-480х272 основа System Information VictorV 480x272 17 18.01.2011 16:43
V7 Portable Navigation System mr_kan Разное 11 20.09.2010 11:06


Текущее время: 19:23. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot

Копирайты