다음을 통해 공유


레지스트리 스크립팅 예

이 항목의 스크립팅 예제에서는 시스템 레지스트리에 키를 추가하고, 등록 기관 COM 서버를 등록하고, 여러 구문 분석 트리를 지정하는 방법을 보여 줍니다.

HKEY_CURRENT_USER 키 추가

다음 구문 분석 트리는 시스템 레지스트리에 단일 키를 추가하는 간단한 스크립트를 보여 줍니다. 특히 스크립트는 키를 MyVeryOwnKeyHKEY_CURRENT_USER추가합니다. 또한 새 키에 기본 문자열 값을 HowGoesIt 할당합니다.

HKEY_CURRENT_USER
{
    'MyVeryOwnKey' = s 'HowGoesIt'
}

이 스크립트는 다음과 같이 여러 하위 키를 정의하도록 쉽게 확장할 수 있습니다.

HKCU
{
    'MyVeryOwnKey' = s 'HowGoesIt'
    {
        'HasASubkey'
        {
            'PrettyCool' = d '55'
            val 'ANameValue' = s 'WithANamedValue'
        }
    }
}

이제 스크립트는 하위 키를 HasASubkey추가합니다 MyVeryOwnKey. 이 하위 키에는 하위 키(기본값 DWORD 55)와 ANameValue 명명된 값(문자열 값 WithANamedValue포함)이 모두 PrettyCool 추가됩니다.

등록 기관 COM 서버 등록

다음 스크립트는 등록자 COM 서버 자체를 등록합니다.

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'
            }
        }
    }
}

런타임에 이 구문 분석 트리는 키를 HKEY_CLASSES_ROOT에 추가합니다ATL.Registrar. 이 새 키에 대해 다음을 수행합니다.

  • 키의 기본 문자열 값으로 지정 ATL Registrar Class 합니다.

  • 하위 키로 추가합니다 CLSID .

  • 에 대해 CLSID지정합니다{44EC053A-400F-11D0-9DCD-00A0C90391D3}. (이 값은 .와 함께 CoCreateInstance사용할 등록 기관의 CLSID입니다.)

CLSID 공유되므로 등록 취소 모드에서 제거해서는 안 됩니다. 이 문 NoRemove CLSID은 등록 모드에서 열리고 등록 취소 모드에서 무시되어야 함을 CLSID 나타내서 이 작업을 수행합니다.

이 문은 ForceRemove 키를 다시 만들기 전에 키와 모든 하위 키를 제거하여 하우스키핑 기능을 제공합니다. 하위 키의 이름이 변경된 경우에 유용할 수 있습니다. 이 스크립팅 예제에서는 ForceRemove 이미 존재하는지 {44EC053A-400F-11D0-9DCD-00A0C90391D3} 확인합니다. 이 경우 다음을 수행 ForceRemove합니다.

  • 재귀적으로 모든 하위 키를 삭제 {44EC053A-400F-11D0-9DCD-00A0C90391D3} 합니다.

  • 를 다시 만듭니다 {44EC053A-400F-11D0-9DCD-00A0C90391D3}.

  • 에 대한 {44EC053A-400F-11D0-9DCD-00A0C90391D3}기본 문자열 값으로 추가합니다ATL Registrar Class.

구문 분석 트리는 이제 두 개의 새 하위 키를 추가합니다 {44EC053A-400F-11D0-9DCD-00A0C90391D3}. 첫 번째 키인 ProgIDProgID의 기본 문자열 값을 가져옵니다. 두 번째 키는 InprocServer32이 문서의 대체 가능한 매개 변수(등록 기관의 전처리기)를 사용하여 섹션에 설명된 전처리기 값인 기본 문자열 값을 %MODULE%가져옵니다. InprocServer32 또한 문자열 값 ThreadingModel이 .인 명명된 값을 Apartment가져옵니다.

여러 구문 분석 트리 지정

스크립트에서 둘 이상의 구문 분석 트리를 지정하려면 한 트리를 다른 트리 끝에 배치하기만 하면 됩니다. 예를 들어 다음 스크립트는 키(키) MyVeryOwnKey를 구 HKEY_CLASSES_ROOT 문 분석 트리에 추가합니다 HKEY_CURRENT_USER.

HKCR
{
    'MyVeryOwnKey' = s 'HowGoesIt'
}
HKEY_CURRENT_USER
{
    'MyVeryOwnKey' = s 'HowGoesIt'
}

참고 항목

등록자 스크립트에서 4K는 최대 토큰 크기입니다. (토큰은 구문에서 인식할 수 있는 요소입니다.) 이전 스크립팅 예제에서 HKCR, HKEY_CURRENT_USER, 'MyVeryOwnKey''HowGoesIt' 모든 토큰입니다.

참고 항목

등록자 스크립트 만들기