SD Warner mit Mort realisieren

  • Edit: Installationspaket angehängt



    Jede Anwendung, die in der Registrierungsdatenbank (Registry) unter HKEY_LOCAL_MACHINE
    im Pfad Software\Microsoft\Windows\CurrentVersion unter dem Schlüssel Run aufgeführt ist,
    wird bei jedem Windowsstart ausgeführt.


    Ich habe nun dort meinen SD Warner eingetragen, nicht weil ich nicht die paar Euro ver-
    schmerzen könnte, die eine 2 GB Karte kostet, sondern weil ich ein komplettes (aktuelles)
    Abbild meines PNAs (My Device) auf dieser SD halte - sicher ist sicher:


    HKEY_LOCAL_MACHINE
    Software\Microsoft\Windows\CurrentVersion\Run\My Flash Disk\programme\MortScript\SD_WARNER.exe


    Zusätzlich habe ich noch folgenden Schlüssel angelegt


    HKEY_LOCAL_MACHINE
    Software\janisjoplin\SD\Warner\WaitTime


    und dort den Wert (DWORD) 5 eingesetzt.



    Diesen Tipp - ob er für jedermann Sinn macht oder nicht - gebe ich hiermit weiter.



    Das SD_WARNER Skript ( für Interessierte :(



    ###################################################################################
    # SD_WARNER.mscr
    #
    # Abstract:
    # On some machines, the memory card easily "jump" from the slot,
    # and it's sooo easy to lose our precious card !
    # That way, we'll be notified !
    #
    # Release:
    # 2009-06-5
    #
    # Author:
    # jwoegerbauer
    #
    # GNU General Public License (GPL), Version 2, June 1991
    #
    ##################################################################################
    #
    # disable error messages
    ErrorLevel="off"
    #
    # we won't to be run twice
    If(ProcExists("SD_WARNER") Or WndExists("SD_WARNER"))
    Kill("SD_WARNER")
    Sleep(500)
    EndIf
    #
    # variables
    Local(wav,fn, waitMinutes,regPath,regKey)
    Set fn, "\Windows\exclam.wav"
    Set regPath, "\SOFTWARE\janisjoplin\SD\Warner"
    Set regKey, "WaitTime"
    wav=FileExists( %fn% )
    #
    # initially set to default
    # note: we alway must wait a few seconds after returning from standby / reset
    # because the SD card isn't immediately available
    waitMinutes = 2
    If( RegvalueExists( "HKLM", %regPath%, %regKey% ))
    waitMinutes = RegRead( "HKLM", %regPath%, %regKey% )
    EndIf
    #
    # Run for ever
    While(1)
    #
    # wait
    Sleep (waitMinutes * 60 * 1000)
    #
    # test on existence of SD
    If (not DirExists( "\Storage Card" ))
    #
    # SD obviously not present, hence notify user
    If (wav)
    Repeat(3)
    PlaySound( %fn% )
    EndRepeat
    EndIf
    If ("No" = Question( "^NL^^NL^Warnung:^NL^Keine SD Karte gefunden!^NL^^NL^Weiterhin testen?", \
    "SD Warner", "YesNo" ))
    #
    # user abort
    Exit
    EndIf
    EndIf
    #
    # do next test
    EndWhile
    #
    ###################################################################################