Mik1441 © Способ N1. Разлочка через файл-фейк. Фейк, в простонародье - фальшивка.
Народные умельцы обнаружили, что если положить в корень флешки файл с определенным именем, то вместо оболочки загрузится Explorer. Видимо программисты оставили такую лазейку для собственных нужд.
Explorer существует в двух проявлениях: рабочий стол и файловый броузер - проводник. Это зависит от ключей, с которыми он запускается. Если без ключей, то первый запуск - рабочий стол, второй запуск - проводник.
На некоторых китайских дивайсах это файл YFGo2CE.bld. Содержание может быть любым. Но он не должен быть пустым. Напишите туда свое имя. Если поместить такой файл на флешку и включить дивайс, то запустится рабочий стол, как в КПК. Это самый простой и безопасный способ. Если удалить этот файл, все вернется на свои места.
Это очень красивый вариант. Explorer при запуске обрабатывает файлы, находящиеся в папке StartUp. Можно сделать так, что при включении прибора сразу запускалась программа навигации. Этого не позволяет делать даже родная оболочка. Очень удобно, Все-таки навигация - основное назначение прибора. Включил и поехал. Недостаток этого способа - он не универсален.
Наиболее популярные команды Морта.
В windows CE отсутствует такое понятие как пакетный файл. Провести серию команд внутренними средствами невозможно. Положение исправляет программа mortscript.
Комплект морт скрипт состоит из трех файлов: интерпретатора скрипта Mortscript.exe, ланчера и скрипта. Ланчер - это exe файл, единственное назначение которого запустить интерпретатор Морта и сообщить ему имя скрипта, который следует обработать. Морт определяет имя скрипта по имени ланчера, который его вызвал. Поэтому скрипт и ланчер должны иметь одно имя.
Скрипт, это файл с расширением mscr, который содержит текстовые команды. Это нечто вроде bat файла в среде DOS. Только bat файл интерпретируется операционной системой, а мортскрипт - интерпретатором Mortscript.exe.
folder = SystemPath("ScriptPath")
В среде WinCE командная строка обязательно должна содержать полный путь, исчисляемый от корневой папки прибора. Здесь нет понятия относительный путь, или текущая папка. Это порождает ряд проблем. Например, флешка выглядит в winCE как папка, лежащая в корневой папке. Стандарт на имя флеши есть только для КПК. Это - Storage Card. В ПНА каждый изощряется как может: SDMMC, Storage Card, StorageCard, итп.
Если прога лежит на флешке, то команда должна начинаться с ее имени. Разнобой в названии затрудняет написание универсального срипта. Здесь на помощь приходит указанная команда Она определяет путь к папке, где лежит скрипт Морта. А если скрипт лежит в папке программы, то и к программе. Дальше по тексту скриптов, вместо слова folder будет подставляться путь к программе.
Run ( folder \ "prog.exe")
или
RunWait ( folder \ "prog.exe")
Запускается программа с именем prog.exe.
Отличие команд заключается в том, что после команды Run сразу исполняется следующая команда скрипта, а в случае с RunWait, следующая команда исполнится только по завершении работы prog.exe.
Теперь рассмотрим как развернется первая команда. Допустим, что папка где лежит скрипт называется Navitel. Prog.exe = Navitel.exe и все это - на флешке sdmmc.
Переменная folder раскроется как
\sdmmc\Navitel\
а команда запуска будет выглядеть \sdmmc\Navitel\Navitel.exe
Интерпретатор игнорирует пробелы в команде. Для повышения наглядности, у меня элементы команды разделены пробелами. Морт их уберет. Можно этого не делать.
По той же причине имя исполнимого файла нужно закрывать кавычками. Ведь в имени файла может быть пробел.
Sleep (1200)
Пауза в исполнении скрипта равная 1200 мсек. Цифра может быть любая. Это, свого рода таймер.
XCopy ("\My Documents\GPS Tracks and Waypoints\*.*",folder \"storage\GPS Tracks and Waypoints",True,True)
Копирование всех файлов (шаблон *.*) из папки \My Documents\GPS Tracks and Waypoints\ в папку \sdmmc\Navitel\storage\GPS Tracks and Waypoints
Команда простая: откуда копировать - запятая - куда копировать - запятая - True - запятая - True
True - означает говорить да на вопросы, которые может задавать команда копироания. Напимер: перезаписать существующие файлы? Если прописано True - то да. Вместо True можно написать False, тогда ответ будет нет и существующие файлы не будут перезаписаны.
Привыкайте дорожки заключать в кавычки, иначе GPS Tracks and Waypoints морт раскроет как GPSTracksandWaypoints - уберет все пробелы.
Kill ("Program")
Завершает программу или процесс с именем Program.
Например
Kill ("Explorer.exe")
Убивает Explorer
Следует учесть, что убивается в процесс в памяти и дорожку прописывать нет смысла. Просто - имя программы. Ничего страшного не произойдет, если пропишете путь. Морт его просто отбросит.