skrypt 1.zip

Mortscript i odblokowanie nawigacji - bardzo użyteczne narzędzie.

Program, wymieniony w tytule, to freewarowe narzędzie służące do ?okiełznania? urządzeń wszelkiej maści pracujących na systemach operacyjnych z rodziny Windows CE i Windows Mobile. Dzięki temu niezwykle przydatnemu narzędziu możemy przykładowo: powyłączać zbędne procesy w celu zwiększenia ilości dostępnej pamięci na urządzeniu, zautomatyzować proces uruchamiania kilku programów w sekwencji, skopiować określone pliki w określone miejsce, utworzyć/skasować wpisy w rejestrze Windows, wyłączyć proces blokujący dostęp do GPS, ustawić automatycznie poziom głośności, etc. W artykule nie będę się skupiał na opisaniu całego programu od A do Z, bo nie ma to sensu, postaram się skupić na najważniejszych najprzydatniejszych rzeczach w codziennej pracy z urządzeniem. Mortscript do pracy wymaga określonego zestawu plików są to plik wykonawczy interpretera o nazwie MortScript.exe, biblioteka toolhelp.dll (inna dla Windows CE5 i CE6) oraz właściwy skrypt w pliku o rozszerzeniu mscr i wywołującego pliku exe o takiej samej nazwie jak plik mscr. Wszystkie pliki znajdziecie w załączniku do artykułu. Spróbujemy zaraz napisać przykładowy skrypt ? będzie służył on do odblokowania nawigacji Mio Moov 500, która do poprawnej pracy wymaga wyłączenia pliku, który blokuje dostęp do portu GPS (robię opis dla tej wersji, bo była i jest bardzo rozpowszechniona i często spotykana). Po wyłączeniu procesu blokującego dostęp do GPS skrypt uruchomi program nawigacyjny Automapa. Z poprzedniego artykułu http://www.elektroda.pl/rtvforum/topic3172250.html odszukujemy jak ma się nazywać plik uruchamiający: Wychodzi na to, że jest to folder Cobia_500_64, a plik ma mieć nazwę auto.exe. Ok, mamy ustalone, więc bierzemy się do dzieła. ? na karcie pamięci tworzymy katalog o nazwie Cobia_500_64, ? do katalogu kopiujemy następujące pliki: Mortscript.exe, toolhelp.dll, oraz tworzymy plik auto.mscr oraz dodatkowo wywołujący plik, któremu nadajemy nazwę auto.exe ? teraz powyłączamy zbędne procesy, w tym celu otwieramy plik auto.mscr w notatniku i wpisujemy następujące sekwencje: If(ProcExists("AppStartupSec.exe")) Kill("AppStartupSec.exe") EndIf If(ProcExists("SmartST_CE.exe")) Kill("SmartST_CE.exe") EndIf If(ProcExists("MioMap.exe")) Kill("MioMap.exe") EndIf If(ProcExists("CLMApp.exe")) Kill("CLMApp.exe") EndIf ? w następnym kroku chcąc uruchomić plik wykonawczy Automapy, którą zakładam, że mamy zainstalowaną na karcie pamięci dopisujemy na końcu pliku linijkę: Run("Storage Card\Automapa EU\Automapa EU..exe") ? zapisujemy zmiany w pliku, ? włączamy urządzenie, pojawia się ekran licencyjny, nic nie naciskamy, tylko wkładamy kartę ? reszta potoczy się sama. Jak widać na powyższym przykładzie ? wykorzystałem tylko 3 funkcje z bogatej palety funkcji Mortsrcipta ? funkcję warunkową If(ProcExists), która pozwala wykonać określoną sekwencję poleceń w przypadku potwierdzenia warunku, funkcję Kill, która odpowiada za ?ubicie? procesu o danej nazwie, ostatnią wykorzystaną funkcją była funkcja Run, która pozwala nam na uruchomienie konkretnego procesu z konkretnej lokalizacji i co ważne pozwala na uruchomienie z określonymi parametrami. Ok, pierwszy skrypt mamy za sobą, spróbuję teraz pokazać Wam, na przykładzie kolejnego skryptu jak zrobić skrypt, który w zależności, czy w urządzeniu będzie włożona karta pamięci uruchomi jeden program, a jak nie będzie włożonej karty ? uruchomi inny program. Tym razem zrobimy to na przykładzie nawigacji Beckera Z098 (zasada taka sama dla 99% modeli Beckera). Wszelkie czynności są banalnie proste ? więc do dzieła - krok po kroku wykonujemy następujące czynności: ? podłączamy urządzenie do komputera, czekamy aż będzie widoczne jako dysk wymienny, ? odszukujemy folder Igo8, a w nim plik Igo8.exe, ? zmieniamy nazwę pliku igo8.exe na inną ? ja zmienię na igo.exe ? do folderu igo8 kopiujemy pliki: Mortscript.exe, toolhelp.dll, tworzymy skrypt o nazwie igo8.mscr, a plikowi wywołującemu skrypt nadajemy nazwę igo8.exe ? w treści pliku wpisujemy: wersja = DirExists("\Storage Card") If (wersja=1) Run("\Storage Card\Automapa EU\Automapa Eu.exe") EndIf If (wersja=0) Run("\My Flash Disk\Igo8\igo.exe") EndIf ? zapisujemy zmiany w pliku i wyłączamy urządzenie, ? sprawdzamy reakcję urządzenia na uruchamianie bez karty pamięci i z włożoną kartą pamięci. Oczywiście nic nie stoi na przeszkodzie aby dostosować skrypty do własnych potrzeb i uruchamiać dowolne inne programy ? każdy ma tu pole do manewru. Nie chcę nadmiernie rozbudowywać artykułu o wiele procedur ? opisałem na przykładach kilka funkcji, które wykorzystuje się najczęściej i których ja używam na co dzień. Więcej o Mortscripcie można znaleźć w manualu: http://www.hjgode.de/dev/files/MortScript-Manual.pdf ewentualnie na licznych forach, gdzie pojawiają się skrypty z wykorzystaniem MortScripta. Piszcie w komentarzach do artykułu, na czym się skupić, jakie skrypty i do jakich urządzeń potrzebujecie ? pomyślę, na czym się skupić w kolejnych artykułach, następny artykuł z cyklu będzie traktował o programie SystemInformation, za którego pomocą stworzymy nakładkę odblokowującą do wybranego modelu urządzenia.

  • skrypt 1.zip
    • toolhelp.dll
    • MortScript.exe
    • auto.exe
    • auto.mscr


Download file - link to post