Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

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

koala106 07 Mar 2016 17:29 23469 32
  • 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 https://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:
    [code:1]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[/code:1]
    ? 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ę:
    [code:1]Run("Storage Card\Automapa EU\Automapa EU..exe")[/code:1]
    ? 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:
    [code:1]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[/code:1]
    ? 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.

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    koala106
    Level 39  
    Offline 
    Spolszczenie, konwersja AUDI, VW, Ford MMI, MIB2, Harman, Delphi, Technisat Sync2, Sync3
    Has specialization in: nawigacje gps: mio, tomtom, gps odblokowanie naprawa
    koala106 wrote 4402 posts with rating 1115, helped 470 times. Live in city Zielona Góra. Been with us since 2005 year.
  • #2
    bartekblat
    Level 10  
    Mam problem z pierwszym skyptem na mio s600. Dodaje w pliku mscr aby ubił proces Spirit.exe jednak proces startuje normalnie a dopiero potem odpala automapa. I jeszcze jedno pytanie. Wyzwalacz w kodzie ma zapisaną nazwe pliku mscr do jakiego sie bd odnosił czy odnosi sie po prostu do pliku o takiej samej nazwie jak wyzwalacz? Pytania z czystej ciekawosci bo z wykorzystaniem drugiego skryptu wszystko działa idealnie.
  • #4
    xJoHnYs
    Level 7  
    Witaj gdzie znajdę procesy które należy wyłączyć w Mio s600.

    Oraz gdzie znajdę biblioteki pod CE 6.0 (nigdzie nie mogę znaleźć)
  • #5
    tomek7417
    Level 1  
    Witam
    Próbuje odblokować mio s505 za pomocą skryptu 1 ale nie wytłacza w oryginale (mio) gps przez co blokuje AM tak wszystko chodzi AM się odpala wyskakuje że nie może znaleźć GPS .Proszę o jakąś wskazówkę co dalej
  • #6
    arcik9
    Level 10  
    Witam.
    Ja mam problem z Mio Spirit 5400LM. Skrypt 1. Gdy kopiuję go "żywcem" nawigacja wisi na ekranie startowym.
    Tak samo dzieje się,m gdy zmienię ścieżkę ze Storage Card na My Flash Disk
    Z góry dziękuję za pomoc.
  • #8
    arcik9
    Level 10  
    Już problem rozwiązałem. Aby poprawnie działała AM na Mio Spirit 5400LM w skrypcie 1 zamiast linijki:
    Run("Storage Card\Automapa EU\Automapa EU.exe")
    wprowadziłem :
    Run("\SDMMC\Automapa EU\Automapa EU.exe")

    Mam nadzieję, że kolejne osoby szukające rozwiązania wpadną na moją odpowiedź.
  • #9
    Rafael22
    Level 21  
    Panowie potrzebuję programu/skryptu który zamknie nawigacje (nie uśpi).

    Stworzyłem własne menu za pomocą aplikacji SystemInformation.exe.

    Problem w tym, że jak mam nowe menu to nie mam jak zamknąć całowicie nawigację tylko ją hibernuje.
  • #14
    koala106
    Level 39  
    W takim razie pozostaje rozwiązanie odpalenia mappera przycisków - odczyt kodu klawisza i w skrypcie zapętlenie go na czas potrzebny do wyłączenia.
  • #15
    Rafael22
    Level 21  
    koala106 wrote:
    W takim razie pozostaje rozwiązanie odpalenia mappera przycisków - odczyt kodu klawisza i w skrypcie zapętlenie go na czas potrzebny do wyłączenia.


    fizyczny przycisk powoduje hibernacje.

    Jedynie w oryginalnym menu nawi mam wybór czy uspić czy zamknąć czy anulować.
  • #17
    koala106
    Level 39  
    Nie pamiętam który to program - ale to co znalazłem na szybko w załączniku.
  • #19
    mahas
    Level 2  
    Witam,
    wałczę z Mio Moov S555, udało mi się odblokować urządzenie, AutoMapa znajduje GPS wszystko działa jak powinno, prawie.
    Korzystając ze skrypt1 zablokowałem proces Spirit.exe i AutoMapa zaczęła uruchamiać się lepiej, zaczęła znajdować moją pozycje.
    Pojawił się jednak inny problem po wpisaniu do auto.mscr komend żeby blokował proces spirit.exe nie mogę poprawnie wyłączyć nawigacji.
    W moim modelu jest przełącznik on/off/reset no wiec nawigacja przestała reagować na sytuacje kiedy jest ustawiona na off, i przez cały czas zostaje włączona.
    Pomozcie prosze !!
  • #21
    mahas
    Level 2  
    mahas wrote:
    Witam,
    wałczę z Mio Moov S555, udało mi się odblokować urządzenie, AutoMapa znajduje GPS wszystko działa jak powinno, prawie.
    Korzystając ze skrypt1 zablokowałem proces Spirit.exe i AutoMapa zaczęła uruchamiać się lepiej, zaczęła znajdować moją pozycje.
    Pojawił się jednak inny problem po wpisaniu do auto.mscr komend żeby blokował proces spirit.exe nie mogę poprawnie wyłączyć nawigacji.
    W moim modelu jest przełącznik on/off/reset no wiec nawigacja przestała reagować na sytuacje kiedy jest ustawiona na off, i przez cały czas zostaje włączona.
    Pomozcie prosze !!


    Przepraszam wszystkich!!
    Napisałem swoje to pytanie, a rozwiązanie jest na tym forum w innej dyskusji.
    Gdyby ktoś miał taki sam problem jak ja i trafił w to samo miejsce to rozwiązanie jest tutaj https://www.elektroda.pl/rtvforum/topic1496935-30.html
    Trzeba rozpakować powerbutton.exe do folderu gdzie są pliki z mortscript i w Auto.mscr dodać linijkę
    Run("\Storage Card\SEEKER_T520\PowerButton.exe") (przynajmniej w moim przypadku jest to folder SEEKER_T520 dla innych modeli bedzie inaczej)
  • #24
    grabaz1982
    Level 11  
    Witam. Podepnę się pod temat. Czy ma ktoś może albo wrzucał już skrypt do nawigacji Blaupunkt TP72 . Obecnie brak softa. Wrzuciłem mu oprogramowanie od modecom mx2 zgodnie z instrukcją tu na forum,ale pod koniec instalacji z karty sd wyskakuje mi błąd "setup faily" i muszę zrestartować nawi. Po tym włączyła się normalnie,ale mam tylko czystego WIN Ce 6.0 i nie wiem co dalej. Chciałbym, żeby uruchamiało się jakieś menu po włączeniu albo od razu nawigacja, bo teraz nie mogę jej nawet wyłączyć - tylko usypia ją.
  • #25
    Rafael22
    Level 21  
    grabaz1982 wrote:
    Witam. Podepnę się pod temat. Czy ma ktoś może albo wrzucał już skrypt do nawigacji Blaupunkt TP72 . Obecnie brak softa. Wrzuciłem mu oprogramowanie od modecom mx2 zgodnie z instrukcją tu na forum,ale pod koniec instalacji z karty sd wyskakuje mi błąd "setup faily" i muszę zrestartować nawi. Po tym włączyła się normalnie,ale mam tylko czystego WIN Ce 6.0 i nie wiem co dalej. Chciałbym, żeby uruchamiało się jakieś menu po włączeniu albo od razu nawigacja, bo teraz nie mogę jej nawet wyłączyć - tylko usypia ją.


    Nie wiem jak w 72 ale w 50 nie da rady wyłączyć nawigacji kliknięciem poza oryginalnym oprogramowaniem. W TP 50 program do nawigacji to maptrip. Pisałem do firmy MAPTRIP, żeby podpowiedzieli lub udostępnili plik exe odpowiedzialny za wyłączenie nawigacji, ale odpowiedzieli żebym się szamotał z BlauPunktem.
    Tak więc są jedynie dwie opcje do wyłączenia nawi;
    1) przytrzymać fizycznie przycisk ponad 15 sekund.
    2) za pomocą maptrip.exe

    Ja zrobiłem własne manu z iGO Nextgen a opcje wyłączenia zrobiłem tak, że program odpala oryginalne oprogramowanie po czym klika w za mnie w odpowiednie miejsca aby wyłączyć nawigację.

    Jedna wada to igo pokazuje źle stan baterii, to też musiałem się nagłówkować, napisałem skrypt, który sprawdza co kilka sekund stan baterii i jak jest 30%, 20%, 10%, jest komunikat głosowy o niskim stanie baterii.

    U Ciebie rozdzielczość trzeba by było zmienić.
    Link do mojego tematu z menu TP50
    http://www.my-navia.pl/viewtopic.php?t=45307
  • #26
    grabaz1982
    Level 11  
    Dzięki za podpowiedź. Problem w tym, że ja nie mam nic w folderze Residentflash, oprócz IGO, które odpalam :) Sprawdzałem już różne panele z karty sd, ale nic nie odpala.
  • #27
    Rafael22
    Level 21  
    A pamiętasz jaki przedtem miałeś program? czy maptrip czy inny?
    Aby program odpalił się z automatu lub żebyś miał własne menu, to musisz znać lub próbować jak się oryginał nazywał. Gorzej jak przez próbę zmiany na modecom jakiś wpis w rejestrze w windows się zmienił i nie będzie odwołania do programu.

    Np. u mnie podczas uruchamiania nawigacji szuka pliku
    \ResidentFlash\Maptrip\MapTrip.exe

    Zmieniłam nazwę MapTrip na MapTrip_Oryginal.exe
    a plik MapTrip.exe to skrypt odwołujący się do własnego menu w przypadku kiedy jest karta SD włożona.

    Możliwe, że u Ciebie też to zadziała pod warunkiem, że miałeś MapTrip.
    Może podeszły by też pliki odpowiedzialne za połączenie nawigacji z kompem z TP50, ale nie wiem. Wieczorem mogę Ci podesłać pliki
    \ResidentFlash\MAPTRIP\usblistener.exe
    \ResidentFlash\MAPTRIP\UsbListenerForWinnTec.exe
  • #28
    grabaz1982
    Level 11  
    Tak. Ja miałem MAPTrip. Wrzucałem już backup z MapTrip do Resident Flash tak jak to BLAUP TP72 po wrzuceniu i tak odpala mi WIN CE. Te pliki usblistener.exe do połączenia z PC tez posiadam i działają - mogę połączyć się z komputerem. Ja podejrzewam, że coś z rejestrem jest nie tak.
  • #29
    Rafael22
    Level 21  
    grabaz1982 wrote:
    Ja podejrzewam, że coś z rejestrem jest nie tak.

    No to spory problem.

    Pliku YFGO2CE.bld nie masz na karcie? bo on powoduje wywołanie Pulpitu Windows CE. Jak masz, to go usuń.

    W sobotę postaram się znaleźć program (chyba go jeszcze mam), który zmieniał menu nawi i była opcja tworzenia kopi rejestru i przywracanie rejestru. To bym zrobił kopię mojego rejestru (tylko czy podejdzie?), wysłał z tym programem. Zrobił byś kopię swojego rejestru na wszelki wielki i spróbował wgrać mój.
  • #30
    grabaz1982
    Level 11  
    Tak, mam. Jeśli wyciągnę kartę odpala też, ale wywala błąd na starcie,że brak aplikacji na karcie ssdmmc czy jakoś tak.