Registreringsdatabasen

af Kristian Hansen

Registreringsdatabasen er det seneste hit i Windows 95. Her skal alle programmer inklusiv Windows 95 selv gemme deres indstillinger. En komplet gennemgang af registreringsdatabasen ville fylde adskillige bøger, men med denne artikel ved hånden, burde du være udrustet til selv at gå på opdagelse.

I Windows 3.1 blev Windows og andre programmers opsætning gemt i .INI-filer. Det var almindelige tekstfiler, som det var relativt nemt at redigere. Med introduktionen af Windows 95 bliver programmørerne imidlertid opfordret til at gemme deres indstillinger i registreringsdatabasen. For at vise et godt eksempel har Microsoft allerede flyttet alle Windows-indstillingerne dertil. Filerne WIN.INI og SYSTEM.INI, der tidligere indeholdt de indstillinger, eksisterer stadigvæk, men det er kun af hensyn til de gamle programmer, der stadigt bruger dem.

I modsætning til INI-filerne er registreringsdatabasen ikke en tekstfil. For at redigere den skal du bruge et særligt program, der kaldes registreringseditoren.

Inden du begynder skal du dog huske på, at ændringer du foretager i registreringseditoren gemmes automatisk. Derfor skal du tage en sikkerhedskopi af registreringsdatabasen først. Det gør du ved at kopiere filerne USER.DAT og SYSTEM.DAT fra Windows-biblioteket til en diskette. Hvis du gør det fra DOS, skal du tage højde for, at filerne er skjulte.

Registreringseditoren

Når sikkerheden er i orden, kan du begynde dit arbejde. Først skal registreringseditoren findes – den bliver nemlig ikke lagt ind i startmenuen, når Windows 95 installeres. Hvis du vil lave en genvej til den, er dens fulde navn C:\WINDOWS\REGEDIT.EXE, men hvis du blot skal starte programmet fra Startmenuen, kan du nøjes med at skrive REGEDIT.

Når du starter registreringseditoren vil du se et billede svarende til figur 1. I venstre side af skærmen vises nøglerne (HKEY_CLASSES_ROOT, HKEY_CURRENT_USER osv.) Nøglerne kan sammenlignes med biblioteker på en harddisk. Hver af nøglerne indeholder undernøgler, ligesom biblioteker indeholder underbiblioteker. For at åbne en nøgle og se dens undernøgler, kan du enten dobbeltklikke på nøglen, eller hvis du bruger tastaturet trykke på plustasten. I stedet for filer, indeholder nøglerne værdier. Værdierne i den markerede nøgle vises i vinduets højre side. Hver værdi har et navn og data. Alle nøgler indeholder en værdi, ved navn (Standard). Nogle programmer bruger den, og andre gør det ikke. I så fald står der (Værdien er ikke defineret) i feltet Data. For at redigere indholdet af en værdi, skal du blot dobbeltklikke på den. Hvis du vil tilføje eller fjerne en værdi, kan du bruge kommandoerne i menuen Redigér. Her finder du også den kommando, der tilføjer en nøgle.

Der findes tre forskellige slags værdier. Det er streng-værdier, der indeholder tekst, det er binær-værdier, der indeholder en række tal, og det er dword-værdier, der indeholder et enkelt tal. Værdierne kan imidlertid også bruges til at angive sandt/falsk eller tændt/slukket. Det gøres ved at bruge 0 og 1 i en streng-værdi. Så angiver 0 falsk (slukket), mens 1 angiver sandt (tændt).

På statuslinien nederst i vinduet kan du se, hvilken nøgle, du ser indholdet af. Her kan du også se, at navnene på nøglerne skrives på samme måde som biblioteksnavne.

HKEY_CLASSES_ROOT

Nøglen HKEY_CLASSES_ROOT indeholder de informationer, Windows 95 bruger til at bestemme en fils type udfra de tre sidste tegn i filnavnet. Først indeholder HKEY_CLASSES_ROOT en række nøgler, hvis navn svarer til de tre afsluttende tegn. Disse nøgler indeholder som regel kun værdien (Standard). Dataene i (Standard) er en henvisning til en anden nøgle i HKEY_CLASSES_ROOT. Denne nye nøgle indeholder en række undernøgler, der blandt andet fortæller Windows 95, hvilket program, der skal startes, når en fil vælges.

For at gøre tingene lidt klarere er det vel på sin plads med et eksempel. Marker nøglen bmp. Du kan se, at den indeholder værdien (Standard). Dens værdi er Paint.Picture. Længere nede i listen over nøgler i HKEY_CLASSES_ROOT kan du finde en nøgle ved navn Paint.Picture. Den indeholder undernøglerne CLSID, DefaultIcon, Protocol, og Shell.

Nøglen CLSID indeholder kun værdien (Standard), der er en kontrolkode. DefaultIcon indeholder også kun (Standard). Her angiver (Standard) dog placeringen på det ikon, der skal vises ved siden af filer af denne type. I dette tilfælde er dataene C:\PROGRA~1\TILBEHØR\MSPAINT.EXE,1. Det betyder, at det første ikon i filen MSPAINT.EXE skal anvendes. Hvis du vil ændre ikonet kan du skrive navnet på en anden EXE-fil, en ikonfil (.ICO) eller du kan ændre ettallet til en anden værdi.

Nøglen Protocol indeholder undernøglen StdFileEditing. Dens undernøgle, Server, inderholder (Standard)-værdien, der fortæller, hvilket program, der hører til filtypen. I dette tilfælde er dataene C:\PROGRA~1\TILBEHØR\MSPAINT.EXE.

Den næste interessante nøgle er HKEY_CLASSES_ROOT\Paint.Picture\Shell. Den indeholder tre undernøgler: open, print og printto. De nøgler fortæller Windows, hvad der skal gøres, når en fil skal åbnes, udskrives eller udskrives til fil. Fælles for nøglerne er, at de har undernøglen Command. Dens (standard)-værdi fortæller, hvilken kommando, der skal udføres for at udføre kommandoen. Ved open er kommandoen “C:\PROGRA~1\TILBEHØR\MSPAINT.EXE” “%1”. %1 betyder, at feltet skal erstattes af et parameter – i dette tilfælde filnavnet.

Hvis du vil åbne filen WINLOGO.BMP fra Stifinder, vil Windows altså først finde typen BMP i HKEY_CLASSES_ROOT. Derfra vil den slå op på Paint.Picture, og kigge i SHELL\OPEN\COMMAND, hvor den vil finde kommandoen. Så erstattes %1 med WINLOGO.BMP og kommandoen vil blive udført som C:\PROGRA~1\TILBEHØR\MSPAINT.EXE WINLOGO.BMP.

HKEY_CURRENT_USER

Nøglen HKEY_CURRENT_USER indeholder den nuværende brugers indstillinger. I systemer, der er opsat til kun en bruger, vil HKEY_CURRENT_USER svare til HKEY_USERS\.Default.

Nøglen indeholder blandt andet ret ligegyldige ting, som navnene på de forskellige systemlyde (AppEvents\EventLabels)  og de lydfiler, der skal afspilles (AppEvents\Apps\Default). Derudover indeholder nøglen indstillingerne fra kontrolpanelet  (Control Panel), og selvom de er meget sjove at eksperimentere med, er det trods alt lettere at foretage ændringerne i det rigtige kontrolpanel.

Nøglen indeholder også en MRU-Liste, der fortæller, hvilke biblioteker, der plejer at blive installeret fra. MRU-lister bruges meget i registreringsdatabasen (især i forbindelse med oversigter over de senest åbnede filer). De fungerer på den måde, at hver gang, der åbnes en fil, bliver den gemt i en værdi, hvis navn blot er et bogstav. I værdien MRUList gemmes så rækkefølgen på bogstaverne, så programmet altid ved, hvilken fil, der blev åbnet først.

Den vigtigste nøgle i HKEY_CURRENT_USER er nok Software. Her gemmer alle programmer de informationer, der er brugerafhængige. Nøglerne navngives nedenstående regel:

\HKEY_CURRENT_USER\Software\<firma>\<produkt>\<version>. Hvilke nøgler, du har her, kommer selvfølgeligt an på, hvilke spil og programmer, du har installeret. Sikkert er det dog, at Microsoft har oprettet sin nøgle – her ligger informationer om  Exchange, Stifinder og ikke mindst Windows 95 selv. Her er det værd at bemærke, at Windows-nøglen ikke ligesom de øvrige nøgler kan benyttes til at bestemme versionsnummeret. Den nøgle, der burde have haft Windowsversionen som navn hedder blot CurrentVersion. Det skyldes, at programmer altid skal kunne finde de indstillinger, der gælder for det aktuelle system.

HKEY_CURRENT_CONFIG

Ligesom HKEY_CURRENT_USER angiver den nuværende brugers indstillinger og findes i HKEY_USERS, angiver HKEY_CURRENT_CONFIG de hardwareindstillinger, der bruges i øjeblikket. Der findes en kopi af HKEY_CURRENT_CONFIG i HKEY_LOCAL_MACHINE.

Undernøglen Display indeholder dels informationer om de skrifttyper, der benyttes (Display\Font) og informationer om skærmens opsætning (Display\Settings). Enum indeholder oplysninger, der anvendes af systemprogrammet i kontrolpanelet, mens undernøglen System blandt andet indeholder informationer om, hvilke printere, der findes på systemet (System\CurrentControlSet\Control\Print\Printers).

HKEY_DYN_DATA

HKEY_DYN_DATA indeholder de data, der oftest benyttes. Det er hovedsageligt teknisk information om systemets hardware. For eksempel indholder nøglen Config Manager\Enum en oversigt over samtlige elementer i systemprogrammet, deres status og eventuelle hardware-konflikter.

HKEY_USERS

HKEY_USERS kopieres som bekendt til HKEY_CURRENT_USER. Hvis du vil se informationer om andre brugere end den nuværende, kan du finde vedkommende som undernøgle til HKEY_USERS. På niveauet herunder findes indstillingerne som beskrevet i HKEY_CURRENT_USER. Hvis dit system ikke er et flerbrugersystem, har du i stedet for brugere blot nøglen .Default.

HKEY_LOCAL_MACHINE

HKEY_LOCAL_MACHINE indeholder konfigurationer for samtlige brugere, og det er herfra informationerne til HKEY_CURRENT_CONFIG kopieres. Herudover indeholder nøglen kopier af HKEY_CLASSES_ROOT og HKEY_USERS\Default\Software.

På opdagelse i registreringsdatabasen

Således udrustet med de grundlæggende informationer skulle du nu være klar til selv at gå på opdagelse i din registreringsdatabase – prøv at finde de forskellige programmer og tyd deres nøgler, og vær ikke bange for at ændre noget, og se hvad der sker, når bare du har taget sikkerhedskopi af registreringsdatabasen.

 

Comments are closed.