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

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

Важная информация


     
Ответ
 
Опции темы
Старый 28.01.2013, 11: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 Кб, 489 просмотров)
Тип файла: rar SysInfo_1.6.3.20_Samples.rar (241.4 Кб, 421 просмотров)
_SIL_ вне форума  
Старый 06.07.2015, 21:40   #181
olegwulf
Новичок
Доп. информация
По умолчанию

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

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

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

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

А скрипт его не видит...
[[Ссылки могут видеть только зарегистрированные пользователи. ]]> Или скрипт неправильно отрабатывает, или всё же SI не выдаёт ему аргумент, или команды в скрипте неправильные..., уже всю голову сломал...?
_RUSER_ вне форума  
Старый 07.07.2015, 23: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, 22: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, 07:26   #186
leps
Испытатель исписатель
 
Аватар для leps
Доп. информация
По умолчанию

С поддержкой MIPS нет такова меню?
leps вне форума  
Старый 04.07.2017, 14:47   #187
porty
Вникающий
Доп. информация
По умолчанию

Добрый день!

Хочу реализовать автозапуск программы навител, при нажатии на кнопку (В шатном ГУ).

Есть файл SysInfoSettings.ini с содержимым:
Цитата:
Main/nav.ini

Далее файл nav.ini содержит:
Цитата:
GLOBALSETTINGS
ShowMessage = 0
QuitOnDoubleClick = no
X = 0
Y = 0
Width = 800
Height = 480
Arrange = No
BackgroundBitmap = ..\Background\back.bmp
AnimationTime = 0
StartUpAnimation = NoAnimation
ShutDownAnimation = NoAnimation
Accelerated = no
TopMost = no

BATTERY
x = 640
y = -22
Width = 110
Height = 30
ColorBattery = 000000
ColorHigh = 00FF00
ColorLow = FFFF00
ColorCritical = FF0000
Segments = 8

TIME
x = 160
y = -10
Color = FFFFFF
FrameColor = 000000
Format = HH':'mm':'ss'
Size = 60
Weight = 1200
CreateFont
Interval = 1000

DATE
x = 410
y = -15
Color = FFFFFF
FrameColor = 000000
Format = dd' 'MMM' 'yyy'
Size = 45
Weight = 1000
CreateFont

ICONXPBUTTON
x = 1
y = 1
Offset=0
SizeNormal = 130
SizePushed = 130
IconNormal = ..\Icons\navON.ico
IconPushed = ..\Icons\navON.ico
ShutDownAnimation = NoAnimation




ICONXPBUTTON
x = 24
y = 393
Offset=0
SizeNormal = 130
SizePushed = 130
IconNormal = ..\Icons\powerOFF.ico
IconPushed = ..\Icons\poweron.ico
NewIni = ..\main\power.ini
ShutDownAnimation = NoAnimation


#Buttons


#Button1
ICONXPBUTTON
x = 144
y = 2
Command = \storagecard\Navitel\navitel.exe
SizeNormal = 205
SizePushed = 205
IconNormal = ..\Icons\navitelOFF.ico
IconPushed = ..\Icons\navitelON.ico

Как можно сделать, чтобы просто открывался сразу навител? Пробовал просто прописать путь до программы, не сработало. Спасибо.
porty вне форума  
Ответ

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

Опции темы


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


Текущее время: 11:18. Часовой пояс GMT +3.


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

Копирайты
Время генерации страницы 0.14835 секунды с 13 запросами