Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De scriptvoorbeelden in dit onderwerp laten zien hoe u een sleutel toevoegt aan het systeemregister, de COM-server van de registrar registreert en meerdere parseringsstructuren opgeeft.
Een sleutel toevoegen aan HKEY_CURRENT_USER
De volgende parseringsstructuur illustreert een eenvoudig script waarmee één sleutel aan het systeemregister wordt toegevoegd. Het script voegt met name de sleutel toe MyVeryOwnKeyaan HKEY_CURRENT_USER. Ook wordt de standaardtekenreekswaarde van HowGoesIt de nieuwe sleutel toegewezen:
HKEY_CURRENT_USER
{
'MyVeryOwnKey' = s 'HowGoesIt'
}
Dit script kan eenvoudig worden uitgebreid om meerdere subsleutels als volgt te definiëren:
HKCU
{
'MyVeryOwnKey' = s 'HowGoesIt'
{
'HasASubkey'
{
'PrettyCool' = d '55'
val 'ANameValue' = s 'WithANamedValue'
}
}
}
Met het script wordt nu een subsleutel toegevoegd, HasASubkey aan MyVeryOwnKey. Aan deze subsleutel wordt zowel de PrettyCool subsleutel (met een standaardwaarde DWORD van 55) als de ANameValue benoemde waarde (met een tekenreekswaarde) WithANamedValuetoegevoegd.
De COM-server van de registrar registreren
Met het volgende script wordt de COM-registrarserver zelf geregistreerd.
HKCR
{
ATL.Registrar = s 'ATL Registrar Class'
{
CLSID = s '{44EC053A-400F-11D0-9DCD-00A0C90391D3}'
}
NoRemove CLSID
{
ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} = s 'ATL Registrar Class'
{
ProgID = s 'ATL.Registrar'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
}
}
}
Tijdens runtime voegt deze parseringsstructuur de ATL.Registrar sleutel toe aan HKEY_CLASSES_ROOT. Voor deze nieuwe sleutel gaat u als volgt te werk:
Hiermee geeft u
ATL Registrar Classde standaardtekenreekswaarde van de sleutel op.Voegt
CLSIDtoe als een subsleutel.Hiermee specificeert
{44EC053A-400F-11D0-9DCD-00A0C90391D3}voorCLSID. (Deze waarde is de CLSID van de registrar voor gebruik metCoCreateInstance.)
Aangezien CLSID wordt gedeeld, mag het niet worden verwijderd in de unregister-modus. De instructie, NoRemove CLSID, doet dit door aan te geven dat CLSID moet worden geopend in Registreren-modus en genegeerd in Deregistreren-modus.
De ForceRemove instructie biedt een huishoudfunctie door een sleutel en alle bijbehorende subsleutels te verwijderen voordat de sleutel opnieuw wordt gemaakt. Dit kan handig zijn als de namen van de subsleutels zijn gewijzigd. In dit scriptvoorbeeld ForceRemove wordt gecontroleerd of {44EC053A-400F-11D0-9DCD-00A0C90391D3} deze al bestaat. Als dat het geval is: ForceRemove
Recursief verwijdert
{44EC053A-400F-11D0-9DCD-00A0C90391D3}en alle subsleutels.Opnieuw maken
{44EC053A-400F-11D0-9DCD-00A0C90391D3}.Voegt
ATL Registrar Classtoe als de standaardtekenreekswaarde voor{44EC053A-400F-11D0-9DCD-00A0C90391D3}.
De parseringsstructuur voegt nu twee nieuwe subsleutels toe aan {44EC053A-400F-11D0-9DCD-00A0C90391D3}. De eerste sleutel, ProgID, krijgt een standaardtekenreekswaarde die de ProgID is. De tweede sleutel, InprocServer32, krijgt een standaard tekenreekswaarde, %MODULE%, die een preprocessorwaarde is zoals uitgelegd in de sectie Vervangbare Parameters Gebruiken (De Preprocessor van de Registrar) van dit artikel.
InprocServer32 haalt ook een benoemde waarde op, ThreadingModelmet een tekenreekswaarde van Apartment.
Meerdere parseringsstructuren opgeven
Als u meer dan één parseringsstructuur in een script wilt opgeven, plaatst u één boomstructuur aan het einde van een andere. Met dit script wordt de sleutel MyVeryOwnKey bijvoorbeeld toegevoegd aan de parsebomen voor zowel HKEY_CLASSES_ROOT als HKEY_CURRENT_USER.
HKCR
{
'MyVeryOwnKey' = s 'HowGoesIt'
}
HKEY_CURRENT_USER
{
'MyVeryOwnKey' = s 'HowGoesIt'
}
Opmerking
In een registrarscript is 4K de maximale tokengrootte. (Een token is een herkenbaar element in de syntaxis.) In het vorige scriptvoorbeeld, HKCR, HKEY_CURRENT_USER, en 'MyVeryOwnKey''HowGoesIt' zijn alle tokens.