Codesnippets zum Scriptbasteln

  • Morjn,


    da der andere Thread mit Tipps zur Scripterstellung durch Diskussionen etwas unübersichtlich geworden ist, stelle ich meine Tipps mal hier in einen neuen Thread.


    In erster Linie habe ich hier einigen Code zur Programmsteuerung, der Programme lädt, ohne daß man den Pfad zum Programm eingeben müßte. So finde ich's praktischer :)


    Fragen oder Ergänzungswünsche bitte per Mail, ich setze das dann drunter, damit es übersichtlich bleibt.


    Ok, here we go:



    MN5 starten (findet das Prog selbst)
    ---
    # Mobile Navigator starten
    if wndexists "MobileNavigator"
    #
    else
    RegReadString HKLM,"SOFTWARE\Apps\NAVIGON MobileNavigator 5","InstallDir",Pfad
    set Pfad, %Pfad% \ "\MobileNavigator.exe"
    run %Pfad%
    Waitfor "MobileNavigator", 5
    sleep 8000
    endif
    ---


    POI-Warner starten (auch ohne Pfadkonfiguration)
    ---
    if wndexists "POI-Warner"
    #
    else
    if fileexists "Windows\Startmenü\Programme\POI-Warner MN5-Edition.lnk"
    run "Windows\Startmenü\Programme\POI-Warner MN5-Edition.lnk"
    else
    run "Windows\Startmenü\POI-Warner MN5-Edition.lnk"
    endif
    SleepMessage 1, "POI-Warner"
    Waitfor "POI-Warner", 5
    sleep 2000
    endif
    ---


    XCPUScalar starten (findet das Prog selbst)
    ---
    if wndexists "XCPUScalar"
    #
    Else
    if fileexists "Windows\Startmenü\Programme\XCPUScalar.lnk"
    run "Windows\Startmenü\Programme\XCPUScalar.lnk"
    else
    run "Windows\Startmenü\XCPUScalar.lnk"
    endif
    SleepMessage 1, "XCPUScalar"
    Waitfor "XCPUScalar", 10
    sleep 500
    endif
    ---


    XCPUScalar beenden
    ---
    # Xcpuskalar beenden
    # Version vom 22.01.06
    # kompatibel mit XCPUScalar 2.93
    if procexists "XCPUScalar.exe"
    show "Desktop"
    WaitForActive "Desktop",2
    sleep 300
    MouseClick 220,290
    Sleep 100
    MouseClick 2,315
    Sleep 180
    MouseClick 2,190
    Else
    #
    endif


    ---


    Registrywerte für SD-Kartenproblem (bei Wiedereinschalten)
    ---
    #In Registry Werte für PNP-KartenIO ändern wegen
    #Problemen mit SD-Kartenerkennung nach Einschalten
    RegWriteDWord HKLM, System\StorageManager, PNPUnloadDelay, 4000
    ---


    Idletimer zurücksetzen (gegen Abschalten von PDA oder Display während der Navigation)---
    while wndexists "MobileNavigator"
    # einmal pro Minute prüfen reicht (ggfs. anpassen)
    sleep 60000
    # Keine automatische Abschaltung, solange MN5 läuft
    IdleTimerReset
    EndWhile
    ---


    POI-Warner-Überwachung einschalten (kann im Aufruf vom Navigon eingebaut werden)
    ----
    getcolorat 4,314,s1
    if expression %s1% <> 65280
    # alter Wert: 64512 war bei mir unter 2003SE gültig
    show "POI-Warner"
    sleep 500
    waitforactive "POI-Warner",1
    SendCR "POI-Warner"
    endif
    show "MobileNavigator"
    ---


    Ciao,


    Detlev

    4 Mal editiert, zuletzt von Top_Gun ()

  • Hi,


    per Mail wurde ich noch mal drauf aufmerksam gemacht, daß der POI+ ja auch existiert. Soweit ich das überblicke, wird das Programm aber unter diesem Namen nicht mehr weiterentwickelt.


    Falls doch: Wenn mir jemand den Dateinamen der Verknüpfung (unter Windows/Startmenü/Programme) und den Namen des Fensters schicken kann, passe ich die Snippets noch auf POI+ an, das ist schnell gemacht :)


    Ciao,


    Detlev


  • Das war ich ;)

  • also:


    if wndexists "MobileNavigator"


    geht bei mir nicht.


    Ich verwende:


    if procexists "MobileNavigator.exe"


    Ob das an WM 5.0 liegt?



    Jetzt weiß ich leider nicht, wie ich den MobilNavigator beenden kann, wenn dieser am laufen ist.


    Close MobielNavigator
    Close Mobile Navigator 5
    Close ?????????


    Ich hab schon fast alles probiert.
    Kann jemand helfen? Danke.

  • Jetzt noch Code, um die automatische Abschaltung des Gerätes zu steuern:


    Aktuell habe ich ihn auf einem hx2110 unter WM5 getestet, die Keys sollten aber mit denen für 2003 identisch sein.


    Stromsparfunktionen abschalten:
    ---
    # Beleuchtung soll während der Navigation anbleiben.
    RegWriteDWord HKCU, ControlPanel\BackLight, ACTimeoutUnchecked,1
    RegWriteDWord HKCU, ControlPanel\BackLight, BatteryTimeoutUnchecked,1


    # Und der PDA soll sich auch nicht abschalten
    RegWriteDWord HKLM, System\CurrentControlset\Control\Power\Timeouts, ACSuspendTimeout,0
    RegWriteDWord HKLM, System\CurrentControlset\Control\Power\Timeouts, BattSuspendTimeout,0
    ---



    Stromsparfunktionen wieder anschalten:
    ---
    # Display auf 30s bei Batterie, 600s (10 Min bei ext. Strom)
    RegWriteDWord HKCU, ControlPanel\BackLight, ACTimeoutUnchecked, 0
    RegWriteDWord HKCU, ControlPanel\BackLight, ACTimeout, 600
    RegWriteDWord HKCU, ControlPanel\BackLight, BatteryTimeoutUnchecked, 0
    RegWriteDWord HKCU, ControlPanel\BackLight, BatteryTimeout, 30


    # Geräteabschaltung auf 180s (3 Min) bei Batterie, 1800s (30 Min) bei Netz
    RegWriteDWord HKLM, System\CurrentControlset\Control\Power\Timeouts, ACSuspendTimeout, 1800
    RegWriteDWord HKLM, System\CurrentControlset\Control\Power\Timeouts, BattSuspendTimeout, 180
    ---


    Ciao,


    Dettlev

  • Hallo Top_Gun,


    auch ich habe mittlerweile Dank deiner neuen Zusammenfassung der Codes eine Startrouitine laufen. Hierbei wird als erstes der PocketHackmaster minimiert geladen, dann der MN5 geladen anschließend der POI-Warner.
    Als letztes hatte ich mir überlegt den POI-Warner automatisch zu beenden, wenn der MN5 geschlossen wurde, was aber nicht funktionieren möchte!


    Der Code sieht bei mir wie folgt aus:



    #In Registry Werte für PNP-KartenIO ändern wegen Problemen mit SD-Kartenerkennung nach Einschalten
    RegWriteDWord HKLM, System\StorageManager, PNPUnloadDelay, 4000


    # Pocket Hack Master starten
    if wndexists "Pocket Hack Master"
    #
    else
    if fileexists "Windows\Startmenü\Programme\Pocket Hack Master.lnk"
    run "Windows\Startmenü\Programme\Pocket Hack Master.lnk"
    else
    run "Windows\Startmenü\Pocket Hack Master.lnk"
    endif
    Waitfor "Pocket Hack Master", 10
    sleep 3500
    Minimize "Pocket Hack Master"
    endif


    # Mobile Navigator starten
    if wndexists "MobileNavigator"
    #
    else
    RegReadString HKLM,"SOFTWARE\Apps\NAVIGON MobileNavigator 5","InstallDir",Pfad
    set Pfad, %Pfad% \ "\MobileNavigator.exe"
    run %Pfad%
    Waitfor "MobileNavigator", 5
    sleep 4000
    endif


    # POI-Warner starten
    if wndexists "POI-Warner"
    #
    else
    if fileexists "Windows\Startmenü\Programme\POI-Warner MN5-Edition.lnk"
    run "Windows\Startmenü\Programme\POI-Warner MN5-Edition.lnk"
    else
    run "Windows\Startmenü\POI-Warner MN5-Edition.lnk"
    endif
    Waitfor "POI-Warner", 5
    sleep 2000
    endif


    getcolorat 4,314,s1
    if expression %s1% <> 64512
    # alter Wert: 64512 war bei mir unter 2003SE gültig
    # neuer Wert: 65280
    show "POI-Warner"
    sleep 500
    waitforactive "POI-Warner",1
    SendCR "POI-Warner"
    endif
    show "MobileNavigator"


    while wndexists "MobileNavigator"
    # einmal pro Minute prüfen reicht (ggfs. anpassen)
    sleep 60000
    # Keine automatische Abschaltung, solange MN5 läuft
    IdleTimerReset
    EndWhile


    #!!funktioniert nicht!!
    #Wenn MN5 geschlossen wird dann auch POIWarner schliessen
    if wndexists "MobileNavigator"
    #
    else
    if wndExists "Poi-Warner"
    Show "Poi-Warner"
    Sleep 3000
    kill poiwarner.exe
    endif
    endif





    Wer weiß hier Rat?


    Grüße,
    bigL



    PS: Mal ganz nebenbei! Ich benutze den Dell Axim X50v, und den kann man mittles PocketHackmaster auf 1 Ghz tunen. Läuft bis Dato alles sehr stabil und wirklich deutlich schneller. Für die, welche den gleichen PocketPC ihr Eigen nennen hier die Einstellungswerte:


    Den Pocket Hack Master starten und Speed Configuration auswählen.
    Nun "Add Manual Speed"


    L-13.0
    N-12.0
    A-1
    LCD_26-1
    Turbo und Fast Bus auswählen


    "add" und dann "ok" klicken
    Jetzt einen Softreset durchführen und den Vorgang nochmals wiederholen!!!
    Danach die gemachte Einstellung testen, und anschließend als Favorit "adden"
    Nun hat man mit dem Axim X50v eine Speed von 1014Mhz (über 1 ghz)


    Viel Spass

    Einmal editiert, zuletzt von bigL ()

  • hallo top_gun, hallo bigL,
    habt ihr auch eine idee, wie man herauskriegen kann, ob der pda gerade durch die batterie oder vom netz mit strom versorgt wird ?
    wenn ich outdoor bin, möchte ich meinen pda lieber nicht übertakten, eher untertakten. stand schon dumm im wald, weil ich vergessen hatte, phm zurückzustellen und die batterie leer war. phm unterscheidet es auch nicht von allein.
    samurex

  • Hi,


    ich habe oben den Code für das Beenden von XCPUScalar geändert.


    Version 2.93 (die aktuellste) entlädt das Programmfenster, wenn es minimiert wird. Dadurch schlagen Close, Show, if wndexists "XCPUScalar" und ähnliches neuerdings fehl.


    Jetzt wird auf den Heutbildschirm geklickt, dann das XCPUScalar-Symbol rechts unten angeklickt, wodurch das Einstellungsfenster geladen wird, und dann werden im Menü die Befehle für File/Exit angeklickt. Sehr umständlich, aber die alte Methode funktioniert nicht mehr.


    Wichtig: Ich habe die aktuelle Beta von Mortscript im Einsatz. Mit dem Release von 3.1 hatte ich Probleme unter WM5: Teilweise ging "if procexists" nicht zuverlässig.


    Ciao,


    Detlev

    Einmal editiert, zuletzt von Top_Gun ()

  • Hallo,
    wo muss man das alles eingeben, habe noch keinerlei Erfahrungen mit diesem Thema, möchte aber gern mehr wissen?


    Gruss nashman

  • @ nashman:


    Das sind Mort-Scripts.


    Gibt etliche Threads dazu im Forum. Einfach mal suchen.


    (z.B. POI-Warner DreamOn


    Gruß


    Marc

    Systemfehler 4711:
    (A) Abbrechen, (W) Wiederholen, (K) Kaffeetrinken: _