existiert registry eintrag?

  • Hallo
    ich stehe vor einem problem und weiß nicht wie ich es lösen könnte

    ich hab ein script gemacht, dass die verknüpfungspfeile von windows xp & vista entfernt bzw wieder hinzufügt
    ich habe eine funktion, die auslesen soll, welcher gerade der aktuelle status ist

    es gibt bei windows XP zwei registry einträge
    einmal bei HKEY_CLASSES_ROOT\Lnkfile der IsShortcut
    und bei HKEY_CLASSES_ROOT\Piffile auf IsShortcut

    die zwei einträge haben keinerlei werte

    ich wollte nun mit einer abfrage überprüfen ob diese einträge existieren

    [autoit]

    If ( RegRead("HKEY_CLASSES_ROOT\Lnkfile", "IsShortcut") & RegRead("HKEY_CLASSES_ROOT\Piffile", "IsShortcut") ) <> "" Then

    [/autoit]


    Diese abfrage kann nie true werden
    denn wenn die einträge nicht existieren liefert regread ein leeren string zurück
    und wenn er existiert liefert er mir auch einen leeren string zurück, da der eintrag ja kein wert hat

    wie kann man dieses problem lösen?
    ich weiß nicht weiter =(

    2 Mal editiert, zuletzt von achim89 (30. Mai 2009 um 11:30)

  • ok ich bin doch draufgekommen =O

    Spoiler anzeigen
    [autoit]

    If @OSVersion = "WIN_XP" Then

    RegRead("HKEY_CLASSES_ROOT\Lnkfile", "IsShortcut")
    $Lnkfile_error = @error
    RegRead("HKEY_CLASSES_ROOT\Piffile", "IsShortcut")
    $Piffile_error = @error

    If ($Lnkfile_error = 0 And $Piffile_error = 0) Then ; wenn beide zum auslesen funktioniert haben

    [/autoit]