Registry az NSH

tartalmazza a „RegistryFunc.nsh”

  • Ahhoz, hogy törölje az összes alkulcsait az adott maszk
Mint ismeretes, amikor a szövetség alkalmazás bizonyos típusú fájlokat, van egy probléma eltávolítja a registry kulcsokat az azonos típusú,
7. típus-zip.001, 7-zip.zip, 7-zip.rar, 7-zip.7z stb Meg kell csinálni rutin munka, mert a script kell felírni tíz,
és néha több száz bejegyzés törléséhez A regisztrációs adatbázis minden kiterjesztés - ez egy nagyon időigényes és ideg.
$ „Registry kulcs” „maszkot” Ebben a példában, törölje az összes partíciót a HKLM. HKCU. HKCR bankfiókban Szoftver / Osztályok kezdődik a neve 7-zip,
vagyis a maszk 7-Zip, 001, 7-zip .zip, .rar 7-zip, 7-zip -7z tartozik $ "$ \ Software \ Classes" "7-zip"
$ "$ \ Software \ Classes" "7-zip"
$ "$", "7-zip"
Legyen óvatos kiválasztásában egy maszkot DELETE.

  • Eltávolítása paraméterek egy adott maszk regiszter értékét ezek a kulcsok kulcsok Keresés csak akkor kerül végrehajtásra a húr paraméterek: REG_SZ és REG_EXPAND_SZ
    A megjelenített adatok távirányítókat, ha nincs semmi, a részletek ablakban -, akkor van egy kereső!
    Adja meg a ághoz, a lehető legpontosabban meg kell
    hogy csökkentsék a keresési időt, ami tarthat nagyon sokáig!
    $ „Registry kulcs” „maszkot”
    Ebben a példában, távolítsa el az összes kulcsfontosságú paraméterek értékei (beleértve a beágyazott kulcsok)
    kezdve a neve 7-zip. vagyis a maszk 7-zip * bármilyen karakter *
    $ "$ \ Software \ 7-zip" "7-zip" Légy óvatos választékot maszkok DELETE.

  • Removal regisztrációs kulcs paraméterek egy adott maszk paraméter neve Keresés csak akkor kerül végrehajtásra a húr paraméterek: REG_SZ és REG_EXPAND_SZ
    A megjelenített adatok távirányítókat, ha nincs semmi, a részletek ablakban -, akkor van egy kereső!
    Adja meg a ághoz, a lehető legpontosabban meg kell
    hogy csökkentsék a keresési időt, ami tarthat nagyon sokáig!
    $ „Registry kulcs” „maszkot” Ebben a példában az Összes eltávolítása lehetőséget billentyűk (beleértve az al-kulcsok), nem tévesztendő össze a paraméter értékét!
    kezdve a neve 7-zip. vagyis a maszk 7-zip * bármilyen karakter *
    $ "$ \ Software \ 7-zip" "7-zip" Légy óvatos választékot maszkok DELETE.

    Macro mozog, hogy a kulcsot nyilvántartás, beleértve a beágyazott kulcsok és legfontosabb paraméterek a megadott útvonalon a registry-ben.
    Ha azt szeretnénk, hogy menjen egy másik kulcs, ami nem létezik - a kulcs létrehozásakor.
    $ „Meghatározott kulcs”, „hol kell mozgatni a megadott kulcs” Ebben a példában Software \ 7-zip a root gomb HKCU ág preremeschen (beleértve alkulcsai) a gyökérágba HKLM.
    $ „$ \ Software \ 7-zip” „$ \ Software \ 7-zip” Ha a kulcs, hogy szeretne mozogni, nem léteznek, akkor hibát jelző

    Macro mozog a kulcs beállítás, nem tévesztendő össze az adat értékét. a megadott helyre.
    Ha azt szeretnénk, hogy menjen egy másik kulcs, ami nem létezik - a kulcs létrehozásakor.
    $ „Meghatározott key” „paraméter neve”, „hol kell másolni a megadott kulcs”, „paraméter neve” Ebben a példában a paraméter nevét Path.bak $ kulcs \ Software mozog
    A Path nevezett paraméter $ kulcs \ Software \ 7-zip. $ „$ \ Software” „Path.bak” „$ \ Software \ 7-zip” „Path” Ha a lehetőség, hogy azt szeretnénk, hogy mozog, nem létezik, akkor egy hiba jelző

  • A logikai definíció regisztrációs kulcs struktúra
  • $ $ "$ \ Software \ 7-zip"
    # Itt parancsokat végrehajtani, ha a kulcs létezik
    DetailPrint „A legfontosabb az, hogy enni!”
    $
    # Itt parancsokat végrehajtani, ha a kulcs nem létezik
    DetailPrint „gomb nem létezik!”
    $

  • Konvertálható a HEX-kódot
  • $ „String” $ var maximális száma karakterre. ne legyen nagyobb vagy egyenlő, mint - 512 szimbólumokat. Egy kiterjesztett változata NSIS - 4096 karakter
    Ez annak a ténynek köszönhető, hogy a fordítás a string típusú értékeket HEX-kódot (hex néző), egy karaktert foglal két bájt.
    Ha a vonal mérete nagyobb, mint 512 bájt (hosszabb verzió NSIS - 4096 bájt)
    A változó $ var vissza -
    Például, mindenki tudja a „Helló, világ!” feldolgozása után a makró néz ki „48656C6C6F2C20576F726C6421”
    $ "Hello, Szó!" $ 0
    Detailprint $ 0
  • Írásban bináris értékek
  • $ „Registry kulcs” „paraméter neve” érték Mivel a szabványos parancs WriteRegBin nem rögzíti a bináris érték, mint a változó értékét.
    $ "Hello, Szó!" $ 0
    $ "$ \ Software \ My Company \ My Software" "bináris" $ 0
    A rögzített adatok képviselni kell hexadecimális formában.
    Ha a beállítás nem létezik, akkor létrejön.
    Ha az adatok mérete nagyobb, mint 1024 karakter (kiterjesztett változata NSIS - 8192 karakter) állítsa be a hibát zászló
    Mivel az egyik karakter shesnadtsitirichnom vesz fel két bájt,
    A mért értékek a hosszúnak kell lennie, páros szám - különben hibát jelző
    $ "$ \ Software \ My Company" "bináris" DEADBEEF012232111510
    IfErrors 0 +2
    MessageBox MB_ICONSTOP | MB_OK "hiba" IDOK
    értékek DEADBEEF012232111510 hossza 20 szimbólumok ha törölni egy karaktert, majd a hibát megállapít

  • Olvasás bináris értékek
  • Az NSI nincs egységes olvasási parancsok Karakterláncsoros Értékek a Registry
    Olvasás REG_MULTI_SZ érték paramétert a változó $ var
    $ $ Var „registry kulcs” „paraméter neve” Ha a paraméter nem egyezik a típus REG_MULTI_SZ a változó $ var vissza -
    Ha ez az érték nagyobb, mint 1024 karakter (kiterjesztett változata NSIS 8192 karakter)
    A változó $ var vissza -
    Ha a kulcs vagy érték nem létezik a változó $ var vissza -
    $ 0 $ "$ \ Software \ Microsoft \ Windows Portable Devices \ FormatMap \ .jpeg" "Format"
    MessageBox MB_OK "$ 0" IDOK

  • Felsorolásával összes kulcs, paraméterekkel és paraméterekkel
  • $ "Key" "Options" Function "[kulcs]" regisztrációs kulcs, ahonnan indul a keresés

    "[Options]" / K = 0 | 1
    / K = 0 - alapértelmezett
    / K = 1 - a listához csak kulcsok, figyelmen kívül hagyja a kulcsokat. / V és / T

    / G = 0 | 1
    / G = 0 - nem felsorolni alkulcsokat
    / G = 1 - felsorolni alkulcsokat (alapértelmezett)

    / V = ​​0 | 1
    / V = ​​0 - nem lista paraméter értéke
    / V = ​​1 - lista paraméter értéke (alapértelmezett)

    / T = [REG_SZ | REG_EXPAND_SZ | REG_MULTI_SZ | REG_DWORD | REG_BINARY]
    / T = REG_SZ - felsorolás típusú paraméter csak REG_SZ
    / T = REG_EXPAND_SZ - felsorolás típusú paraméter csak REG_EXPAND_SZ
    / T = REG_MULTI_SZ - felsorolás típusú paraméter csak REG_MULTI_SZ
    / T = REG_DWORD - felsorolás típusú paraméter csak REG_DWORD
    / T = REG_BINARY - felsorolás típusú paraméter csak REG_BINARY

    "Function" felhasználó visszahívási függvény.

    Funkció „Funkció”
    $ 1 - egy regisztrációs kulcsot
    $ 2 - paraméter neve
    $ 3 - érték
    4 $ - paramétertípus
    $ R8 - gyökér ághoz az információtartalom, a részletek ablakban
    A függvény a változó $ R0 - $ R9, $ 0 - $ 4
    azaz a funkció szabadon használhatja a $ 5 - $ 9
    Ha a változó $ 0 Unstack StopRegFind - az átutalás megszakad: strcpy $ 0 StopRegFind
    funkció nem használható a verem
    FunctionEnd A maximális méret a paraméter értékét - 1023 karakter. függetlenül attól, hogy a kiterjesztett változata NSIS
    A változók értéke $ R0 - R9 $ és $ 0 - $ 4 használja a makró lehet megtakarítani és helyreállították a makró
    Transzfer a gyökérágba HKCR csak szakaszok, sub szakaszok nem kerülnek át. rész
    $ "$" "/ K = 1 / G = 0" EnumReg
    SectionEnd

    funkció EnumReg
    DetailPrint "$ R8 \ $ 1"
    FunctionEnd
    List csak szakaszok, beleértve a beágyazott a gyökérágba HKCR. rész
    $ "$" "/ K = 1" EnumReg
    SectionEnd

    funkció EnumReg
    DetailPrint "$ R8 \ $ 1"
    FunctionEnd
    Transzfer a SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall összes létező partíciót, paraméterekkel és paraméterekkel. rész
    $ "$ \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall" "" EnumReg
    SectionEnd

    funkció EnumReg
    DetailPrint `$ R8" $ 1„`
    DetailPrint "Parameter name: $ 2"
    DetailPrint "Paraméter: $ 3"
    DetailPrint "Paraméter típusa: $ 4"
    DetailPrint "--------------"
    FunctionEnd
    Sorold fel az összes létező partíciót REG_DWORD érték paramétert. rész
    $ "$ \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall" "/ T = REG_DWORD" EnumReg
    SectionEnd

    funkció EnumReg
    DetailPrint `$ R8" $ 1„`
    DetailPrint "Parameter name: $ 2"
    DetailPrint "Paraméter: $ 3"
    DetailPrint "Paraméter típusa: $ 4"
    DetailPrint "--------------"
    FunctionEnd
    Sorold fel az összes létező partíciót típusú paraméterek értéke REG_SZ, REG_MULTI_SZ és REG_EXPAND_SZ. rész
    $ "$ \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall" "/ T = REG_SZ REG_MULTI_SZ REG_EXPAND_SZ" EnumReg
    SectionEnd

    funkció EnumReg
    DetailPrint `$ R8" $ 1„`
    DetailPrint "Parameter name: $ 2"
    DetailPrint "Paraméter: $ 3"
    DetailPrint "Paraméter típusa: $ 4"
    DetailPrint "--------------"
    FunctionEnd
    Sorold fel az összes létező partíciót csak a neveket egy REG_SZ paramétereket. rész
    $ "$ \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall" "/ T = REG_SZ / V = ​​0" EnumReg
    SectionEnd

    funkció EnumReg
    DetailPrint `$ R8" $ 1„`
    DetailPrint "Parameter name: $ 2"
    DetailPrint "Paraméter típusa: $ 4"
    DetailPrint "--------------"
    FunctionEnd

    Alternatív könyvtár megjelenés Registry: Munka a regisztrációs