共用方式為


登錄指令碼範例

本主題中的腳本範例示範如何將機碼新增至系統登錄、註冊登錄器 COM 伺服器,以及指定多個剖析樹狀結構。

將金鑰新增至HKEY_CURRENT_USER

下列剖析樹狀結構說明將單一索引鍵新增至系統登錄的簡單腳本。 特別是,文稿會將索引鍵、 MyVeryOwnKey新增至 HKEY_CURRENT_USER。 它也會將預設字串值 HowGoesIt 指派給新的索引鍵:

HKEY_CURRENT_USER
{
    'MyVeryOwnKey' = s 'HowGoesIt'
}

此腳本可以輕鬆地擴充,以定義多個子機碼,如下所示:

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

現在,文稿會將子機碼 HasASubkey、 新增至 MyVeryOwnKey。 在這個子機碼中 PrettyCool ,它會新增子機碼( DWORD 預設值為55)和 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'
            }
        }
    }
}

在執行時間,這個剖析樹狀結構會將 ATL.Registrar 索引鍵新增至 HKEY_CLASSES_ROOT。 在這裡新金鑰中,它接著:

  • 指定 ATL Registrar Class 為索引鍵的預設字串值。

  • 新增 CLSID 為子機碼。

  • 指定 {44EC053A-400F-11D0-9DCD-00A0C90391D3}CLSID (此值是註冊機構的CLSID,可與搭配 CoCreateInstance使用。

由於 CLSID 已共用,因此不應在 [取消註冊] 模式中移除。 語句 NoRemove CLSID會藉由指出 CLSID 應該在 [註冊] 模式中開啟,並在 [取消註冊] 模式中忽略 。

ForceRemove語句會先移除索引鍵及其所有子機碼,再重新建立密鑰,以提供管家功能。 如果子機碼的名稱已變更,這非常有用。 在此文稿範例中, ForceRemove 檢查是否 {44EC053A-400F-11D0-9DCD-00A0C90391D3} 已經存在。 如果這樣做,則 ForceRemove為 :

  • 遞歸刪除 {44EC053A-400F-11D0-9DCD-00A0C90391D3} 及其所有子機碼。

  • 重新建立 {44EC053A-400F-11D0-9DCD-00A0C90391D3}

  • 將 新增 ATL Registrar Class 為的預設 {44EC053A-400F-11D0-9DCD-00A0C90391D3}字串值。

剖析樹狀結構現在會將兩個新的子機碼新增至 {44EC053A-400F-11D0-9DCD-00A0C90391D3}。 第一個索引鍵 ProgID會取得 ProgID 的預設字串值。 第二個索引鍵InprocServer32會取得預設字串值 ,%MODULE%這是本文使用可取代參數(註冊器預處理器)一節中所述的預處理器值。 InprocServer32 也會取得具名值, ThreadingModel其字串值為 Apartment

指定多個剖析樹狀結構

若要在腳本中指定多個剖析樹狀結構,只要將一個樹狀結構放在另一個樹狀結構結尾即可。 例如,下列文本會將 索引鍵 MyVeryOwnKey、 新增至 和 HKEY_CURRENT_USER的剖析樹狀結構HKEY_CLASSES_ROOT

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

注意

在註冊機構腳本中,4K 是令牌大小上限。 (令牌是語法中的任何可辨識專案。在先前的腳本範例中,HKCRHKEY_CURRENT_USER'MyVeryOwnKey'、 和 'HowGoesIt' 都是標記。

另請參閱

建立登錄器指令碼