次の方法で共有


レジストリのスクリプトの例

このトピックのスクリプト例では、システム レジストリにキーを追加する方法と、レジストラー COM サーバーを登録し、複数のパース ツリーを指定します。

HKEY_CURRENT_USER にキーを追加します。

次のパース ツリーはシステム レジストリにキーを一つ追加する簡単なスクリプトについて説明します。特に、スクリプトは HKEY_CURRENT_USERに、キー MyVeryOwnKeyを追加します。また、新しいキーに HowGoesIt? 既定の文字列値を割り当てます:

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

このスクリプトは、次のように複数のサブキーを定義するために簡単に拡張できます:

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

これで、スクリプトは MyVeryOwnKeyに、サブキー HasASubkeyを追加します。このサブキーに、PrettyCool? のサブキー (55 の既定の DWORD 値を使用) という ANameValue 両方の値を追加します ( WithANamedValueの文字列値)。

レジストラー 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 CLSIDCLSID が登録解除モードの登録のモードで開き、無視することを示すことによって、これを行います。

ForceRemove のステートメントでは、キーを再作成する前にキーとサブキーをすべて削除して、ハウスキーピング関数を提供します。これは、サブキーの名前が変更された場合に便利です。このスクリプト例では {44EC053A-400F-11D0-9DCD-00A0C90391D3} が既に存在する場合は、ForceRemove 確認します。これは、ForceRemove:

  • 再帰的に {44EC053A-400F-11D0-9DCD-00A0C90391D3} とサブキーをすべて削除します。

  • {44EC053A-400F-11D0-9DCD-00A0C90391D3}を再作成します。

  • ATL Registrar Class をように {44EC053A-400F-11D0-9DCD-00A0C90391D3}の既定の文字列値追加します。

パース ツリーは 2 {44EC053A-400F-11D0-9DCD-00A0C90391D3}に、新しいサブキーを追加します。最初のキー、ProgIDは、ProgID である既定の文字列値を取得します。2 番目のキー、InprocServer32は、セクションで説明するプリプロセッサの値である既定の文字列値、%MODULE%、この記事の を使用して置き換え可能パラメーター (レジストラー プリプロセッサ)取得します。InprocServer32 は、名前付きの値、Apartmentの文字列値を持つ ThreadingModelを取得します。

複数のパース ツリーを指定します。

スクリプトで複数のパース ツリーを指定するには、別の最後に 1 個のツリーを単純に設定します。たとえば、次のスクリプトは HKEY_CLASSES_ROOT と HKEY_CURRENT_USER両方のパース ツリーに、MyVeryOwnKeyキーを追加します:

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

[!メモ]

レジストラー スクリプトでは、KB は、最大のトークンのサイズです。(トークンは、構文を認識可能な要素です。前スクリプトの例では、HKCR、HKEY_CURRENT_USER、'MyVeryOwnKey'と 'HowGoesIt?' は、すべてのトークンです。

参照

関連項目

レジストラー スクリプトの作成