sql server注冊表操作相關的幾個未公開過程

  DECLARE @test varchar(20)
  EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE',
   @key='SOFTWARE\Test',
   @value_name='TestValue',
   @value=@test OUTPUT
  SELECT @test
  -- 1. 枚舉所有的 Keys
  xp_instance_regenumkeys
   'HKEY_LOCAL_MACHINE', -- 根, 注冊表固定有下面幾個
   -- HKEY_CLASSES_ROOT
   -- HKEY_CURRENT_USER
   -- HKEY_LOCAL_MACHINE
   -- HKEY_USERS
   'SYSTEM' -- 子鍵, 如果爲 NULL, 表示列出根下面的第1層子鍵
  -- 2. 枚舉所有的鍵值及數據
  xp_regenumvalues
   'HKEY_LOCAL_MACHINE', -- 根, 注冊表固定有下面幾個
   -- HKEY_CLASSES_ROOT
   -- HKEY_CURRENT_USER
   -- HKEY_LOCAL_MACHINE
   -- HKEY_USERS
   'SYSTEM' -- 子鍵, 如果爲 NULL, 表示列出根下面的第1層子鍵
   -- 每個鍵值爲一個結果集, 注意, 一般的鍵值有兩列, 有的鍵值有多列
  -- 3. 讀取鍵值
  DECLARE @re varchar(8000)
  EXEC xp_regread
   'HKEY_CLASSES_ROOT', -- 根, 注冊表固定有下面幾個
   -- HKEY_CLASSES_ROOT
   -- HKEY_CURRENT_USER
   -- HKEY_LOCAL_MACHINE
   -- HKEY_USERS
   '*', -- 子鍵, 如果爲 NULL, 表示列出根下面的第1層子鍵
   'QuickTip', -- 鍵值, 如果只指定前面兩項, 則用于判斷某個 Key 是否存在
   @re OUT -- 保存結果的變量, 如果不指定, 則輸出爲結果集
  SELECT @re