您的位置:首页技术文章
文章详情页

sql server注册表操作相关的几个未公开过程

【字号: 日期:2023-11-06 15:16:36浏览:82作者:猪猪

DECLARE @test varchar(20) EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARETest', @value_name='TestValue', @value=@test OUTPUT SELECT @test

-- 1. 枚举所有的 Keysxp_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

标签: Sql Server 数据库