Secretele din articol despre Windows programe de registru de carte Windows Registry Vista

Secretele de Windows: articole despre registru, Rundll32.exe, programe de carte Registry Windows Vista. INF-files

Cartea „Registrul de Windows Vista. La 100%“, Capitolul 1. Informații de bază despre registru, 1.3. limbaje de scripting și registru: INF-fișiere.







Pe paginile acestei cărți, tu și eu nu voi intra în labirintul de programare în script - singurul lucru care ne interesează este capacitatea lor de a lucra cu registru.

Fișierul .inf este un fișier text simplu, care poate conține comenzi speciale pentru lucrul cu registru, sistemul de fișiere și servicii, precum și alte componente ale sistemului de operare Windows Vista. Ca o regulă, INF-fișiere folosite pentru a instala hardware sau software suplimentar.

Aceste fișiere nu sunt nou sistem de operare Windows Vista - acestea erau încă disponibile în Windows 95. Pornind de la Windows 98 oportunități INF-fișiere au fost extinse în mod semnificativ biblioteca în continuare advapi32.dll. În acest scenariu, care este utilizat în biblioteca lor advapi32.dll de lucru (acesta poate fi conectat la script-ul sau nu), numite extinse INF-fișiere.

Deoarece funcționalitatea inf-fișier a rămas practic neschimbat.

Cu inf-fișier pe care îl puteți face următoarele cu registru: adăugarea, ștergerea și editarea registry setări și editarea statutului de biți individuale ale parametrului. În acest scop, cuvintele cheie individuale AddReg, DelReg, BitReg.

Sintaxa de bază INF-fișiere

Înainte de a descrie cuvintele cheie pe care le puteți utiliza pentru a lucra cu registru, să locuiesc încă pe scurt despre sintaxa de bază a obișnuit inf-fișier (de exemplu, care nu se extinde).

În primul rând, să acorde o atenție la cota de 2.02. Această listare conține șablonul unui simplu inf-fișier.

Fișierele .inf constau în cuvinte cheie, secțiuni și echipe.

Sistem și utilizator al forumului

Secțiunile pot fi personalizate, numele care poate fi orice, și de sistem, care sunt strict nume definite. De exemplu, în fișierul listat în Listarea 2.01, partițiile sistemului sunt și versiunea DefaultInstall.

Versiune Secțiunea versiune este o parte obligatorie a oricărui fișier inf. La un nivel minim, acesta ar trebui să includă un cuvânt cheie - Semnătură. Cu acest cuvânt cheie este determinat de versiunea sistemului de operare, pentru care a fost creat inf-fișier.

De exemplu, în cazul în care inf-fișierul este creat pentru familia Windows 9x de sisteme de operare (ca regulă, astfel de inf fișiere suportă toate sistemul de operare Windows, indiferent de familia căreia îi aparțin), atunci valoarea cuvântului cheie ar trebui să fie un șir de caractere $ CHICAGO $. Dacă fișierul este creat pentru sistemele de operare Windows NT de familie, atunci valoarea cuvântului cheie ar trebui să fie un șir de caractere $ Windows NT $.

DefaultInstall O altă secțiune obligatorie inf-fișier este secțiunea DefaultInstall. Această secțiune este prima secțiune a inf-file, care se va ocupa de sistemul de operare. Este în această secțiune ar trebui să descrie toate cuvintele cheie necesare.

Cuvinte cheie

De obicei, cuvintele cheie sunt siruri de caractere speciale, care indică secțiuni personalizate inf-fișier. În funcție de numele cuvântului cheie, conținutul secțiunea relevantă a utilizatorului poate fi interpretată în moduri diferite.

Cum de a începe INF-fișiere

Sintaxa de bază INF-fișiere noi sunt demontate. Dar, înainte de a începe să descrie anumite cuvinte cheie ar trebui să fie luate în considerare în continuare mod de a începe INF-fișiere.

Porniți de la shell cel mai simplu mod de a începe inf-fișier este de a afișa meniul contextual și selectați Instalare de comandă. După ce faci, începe programul InfDefaultInstall.exe.

Programul InfDefaultInstall.exe este nou sistem de operare Windows Vista. Acest program este un shell care ruleaza SetupAPI comanda rundll32.exe, InstallHinfSection DefaultInstall 132 „calea către inf-fișier."

Folosind comanda Executare rundll32.exe inf-fișier și aveți posibilitatea să proprii - cu SetupAPI comanda rundll32.exe, InstallHinfSection «secțiunea inițială“ «stegulețe», «calea de a inf-file». Acesta utilizează această comandă program de InfDefaultInstall.exe.

  • Secțiunea inițială. Secțiunea definește inf-fișier care conține cuvinte cheie. Când se utilizează un program de astfel de partiție InfDefaultInstall.exe ar trebui să fie întotdeauna o DefaultInstall secțiune. Dacă rulați inf-fișierul utilizând comenzile rundll32.exe, puteți specifica manual secțiunea inițială.
  • Steaguri. Steaguri vă permit să specificați acțiunile care au loc după instalarea inf-fișier. Următoarele steaguri.
    • 128. După instalarea inf-fișier pentru a reporni computerul nu este necesar.
    • 129. După instalarea INF-fișierul reporniți computerul.
    • 130. După instalarea inf-fișier pentru a cere utilizatorului pentru a reporni computerul.
    • 131. În cazul în care sistemul de operare a identificat necesitatea de a reporni computerul, executați-l.
    • 132. În cazul în care sistemul de operare a identificat necesitatea de a reporni computerul, cere utilizatorului înainte de a reporni.
  • Calea către inf-fișier. Acesta specifică calea către inf-fișierul pe care doriți să instalați, și numele acestuia.

Rularea avansate inf-fișier Dacă creați un fișier inf-extensie, apoi modul standard de a instala inf-fișiere, nu veți face. Pentru a instala extins inf-fișier, trebuie să utilizați comanda rundll32.exe ADVPACK.dll, numele LaunchINFSectionEx «a inf-fișier“, «secțiunea inițială», «numele de fișier în cabină», «pavilion». Face parte din această echipă ca numele inf-fișier și secțiunea inițială dintre noi sunt deja familiarizați cu echipa rundll32.exe pentru a instala obișnuite INF-fișiere. Restul echipei vor fi discutate mai jos.

Sub anumite trucuri de operare Windows utilizatorii sistemului să înțeleagă diferitele metode de editare registru, prin care a activat o anumită funcție suplimentară pentru Windows, fie pentru schimbarea mai bine comportamentul sistemului de operare.

După cum sa menționat mai sus, singura modalitate de a instala inf-fișier avansat este de a utiliza Rundll32.exe de comandă. Cu toate acestea, în cazul în care lucrați des cu astfel de inf-fișiere, poate părea incomod. În acest caz, puteți crea o comandă suplimentară pentru a le instala în modul avansat din meniul contextual INF-fișiere. Este suficient pentru a seta parametrul (implicit) ramura de înregistrare HKCR \ inffile \ shell \ extins instala \ de valoarea de comandă rundll32.exe ADVPACK.dll, LaunchINFSectionEx% 1, DefaultInstall. După aceea, noua echipă a extins instala apare în meniul contextual INF-fișiere.

De exemplu, tweak de mai sus poate fi realizată cu ajutorul unui simplu reg-file din listingul 2.03.

Schimbarea registrului

Pentru a edita setările și cheile de registry utilizând cuvântul cheie inf-fișier este utilizat AddReg.

Acest cuvânt cheie indică Forum inf-fișier (dacă doriți să specificați mai mult de o partiție, pur și simplu le separate prin virgula), care conțin o descriere editarea registry. Secțiunile care sunt descrise în conformitate cu cuvântul cheie este procesat secvențial. Aceste secțiuni au următorul format (a se vedea Listarea 2,04).

Această secțiune rădăcină a liniei definește o intrare de registru rădăcină, care este un parametru variabil.

În acest caz, în loc de numele partiției rădăcină trebuie să specificați este deja familiar pentru noi privind desemnarea programului reg.exe HKCU, HKLM, HKU, HKCR (HKEY_CLASSES_ROOT înlocuiește partiția rădăcină), HKCC (înlocuiește HKEY_CURRENT_CONFIG partiția rădăcină), HKR (înlocuiește ramura de registru HKLM \ SYSTEM \ CurrentControlSet \ control \ Clasa \\ «număr de dispozitiv“ și este utilizat la instalarea echipament nou).

Această ramură de registru a liniei determină restul drumului în registrul sucursalei în care urmează să fie schimbat. În cazul în care ramura de registru conține spații, acesta trebuie să fie citat.

Acest parametru este o parte dintr-un șir de caractere conține numele parametrului a cărui valoare este schimbat. Dacă numele parametrului conține spații, acesta trebuie să fie citat.

În acest caz, dacă trebuie să modificați setarea (implicit) a dat sucursalei de registru, pur și simplu nu specificați această parte a liniei, lăsându-l gol.

tip de pavilion parametru în primul rând prin utilizarea de pavilion de tip indică tipul de parametru care urmează să fie schimbat. În plus, folosirea acestui pavilion, puteți specifica informații suplimentare despre schimbarea parametrului.

parametru de tip pavilion este o mască de biți, în care denumirea bit este descrisă mai jos.

Acest pavilion poate fi utilizat numai pentru parametrii de tip REG_MULTI_SZ.

  • 0h00000010. În schimb, pentru a crea sau modifica setarea, efectuați crearea numai cheia de registry specificată.
  • 0h00000020. Modificați valoarea parametrului este permisă numai în cazul în care această opțiune există deja în registru.






  • Această valoare a parametrului liniei cuprinde o nouă valoare modificată sau adăugată parametru.

    rezumând

    Să generaliza toate oportunitățile oferite de noi cuvinte cheie AddReg.

    Pentru a crea un parametru sau modificați valoarea ei, trebuie să utilizați un șir de forma „partiția rădăcină“, „sucursală registru“, „numele parametrului“, „pavilion“, „valoare“. Adăugarea la măștile de biți de pavilion corespunzător poate determina, de asemenea, posibilitatea de a schimba setarea, în cazul în care acesta este deja prezent în registru (sau în cazul în care nu se află în registru).

    Pentru a adăuga un șir de caractere la o valoare de parametru de tip REG_MULTI_SZ, trebuie să utilizați un șir de forma „partiția rădăcină“, „sucursală registru“, „Numele parametrului“, 0x00010008, „valoare“.

    Pentru a șterge o setare din registru, trebuie să utilizați un șir de forma „partiția rădăcină“, „sucursală registru“, „numele parametrului“, 0x00000004.

    Pentru a crea o ramură a registrului, trebuie să utilizați un șir de forma „partiția rădăcină“, „filiala registru“ ,, 0h00000010.

    Ca un exemplu, să ia în considerare un simplu inf-fișier (afișare 2.05), care dezactivează pornirea automată introdus în unitatea CD-ROM. În acest scop, acesta atribuie tipul parametrului REG_DWORD Autorun 0.

    În plus, inf-fișier se adaugă, de asemenea, la valoarea parametrului de tip REG_MULTI_SZ AutoRunAlwaysDisable unități de nume, CD-uri autostart care nu sunt permise în nici un caz.

    Ștergerea setărilor și cheile de registry

    În ciuda faptului că puteți elimina intrarea de registry, și folosind cuvântul cheie AddReg, în mod special pentru această operațiune a creat, de asemenea, un nou cuvânt cheie DelReg pentru noi.

    Așa cum am considerat cuvântul cheie AddReg, cuvântul cheie DelReg indică secțiunea de utilizator inf-fișier. Abia acum secțiune va conține informații despre ramura sau parametrul care urmează să fie eliminate din registru. Formatul acestei secțiuni următoarele rânduri: „Registrul partiție rădăcină“, „sucursală registru“, „parametrul“, „șterge pavilion operațiune“, „un exemplu pentru a elimina.“

    Numirea piese rând ca cheie rădăcină, ramură de registru și setarea știm deja din descrierea AddReg cuvintele cheie. Restul liniei suntem acum luate în considerare.

    Operația de îndepărtare Flag Eliminarea următoare steaguri.

    Removal EXEMPLU Această parte din șirul este aplicată numai atunci când îndepărtați parametrul tip REG_MULTI_SZ (bitmask 0h00018002 flag) și definește o parte din valoarea parametrului, care va fi exclus din setarea.

    Lucrul cu masca de biți

    Capacitatea unică de inf-standard de fișiere este realizarea de posibilitatea de a lucra cu biții individuali valoarea registrului parametrului. Pentru a face acest lucru, utilizați cuvântul cheie BitReg. Acest cuvânt cheie indică secțiunile personalizate, care pot conține o linie de următorul format: „Registrul partiție rădăcină“, „sucursală registru“, „parametrul“, „pavilion operațiune“, „masca de funcționare“, „numărul de octeți ai parametrului“.

    După ce a devenit familiarizat cu cuvinte cheie și AddReg DelReg necunoscute la noi doar următoarea parte dintr-un șir de caractere în acest format.

    operațiuni de pavilion folosind pavilion de operare poate determina acțiunea pe care o vom efectua pe biți specifice ale parametrului - fie să le piardă sau să instalați. Acest pavilion poate lua următoarele valori.

    • 0h00000000. Bitul de resetare.
    • 0h00000001. Instalați bitul specificat.
    • 0h00040000. Produce modificări specificate în registrul de 32 de biți, mai degrabă decât pe 64 de biți. Această mască de biți poate fi utilizată în sistemele de operare pe 64 de biți.

    Această operațiune masca a liniei vă permite să specificați biți dintr-un singur octet din valoarea parametrului (o dată ce le puteți modifica numai biții de unul dintre octeți ai parametrului), peste care aveți nevoie pentru a efectua operația, o anumită operațiune de pavilion (reset sau setarea parametrilor).

    masca de funcționare trebuie să cuprindă 8 numere - sau unități, sau zerouri. Toți biții parametru octet corespunzătoare, în locul care conține o unitate de operare masca sunt resetate sau setat (în funcție de pavilion funcționare).

    Numărul de octeți în valoarea parametrului Ca un singur rând inf-fișier poate fi editat doar biți de un octet din valoarea parametrului, acest câmp indică parametrul octet la care operațiunea se va aplica masca.

    Rețineți că numerotarea începând bytes de valorile parametrilor depind de tipul de parametru. Dacă ați editat parametrul REG_DWORD valoare de tip, cea mai semnificativă (adică, capătul din dreapta) octet al parametrului este 0. Dacă numărul este editat parametru de tip valoare REG_BINARY, atunci octetul cel mai puțin semnificativă a valorii parametrului (stânga) este numărul 0.

    Caracterizare: 0
    Rate 1 2 3 4 5