- Option Explicit
- '
- '注册表操作(SmRegCtr)
- '
- '/类型.
- Public Enum RegDataType
- '/REG_NONE = 0 ' 未知类型
- REG_SZ = 1 ' Unicode字符串
- '/REG_EXPAND_SZ = 2 ' Unicode字符串
- REG_BINARY = 3 ' 二进制
- '/REG_DWORD = 4 ' 双字节型.
- '/REG_DWORD_LITTLE_ENDIAN = 4 ' 32-bit number (same as REG_DWORD)
- '/REG_DWORD_BIG_ENDIAN = 5 ' 32-bit number
- End Enum
- Public Enum RegMainKey
- HKEY_CLASSES_ROOT =
- HKEY_CURRENT_USER =
- HKEY_LOCAL_MACHINE =
- HKEY_USERS =
- HKEY_PERFORMANCE_DATA =
- HKEY_CURRENT_CONFIG =
- HKEY_DYN_DATA =
- End Enum
- '
- Const READ_CONTROL =
- Const STANDARD_RIGHTS_READ = (READ_CONTROL)
- Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)
- Const KEY_QUERY_VALUE =
- Const KEY_SET_VALUE =
- Const KEY_CREATE_SUB_KEY =
- Const KEY_ENUMERATE_SUB_KEYS =
- Const KEY_NOTIFY =
- Const KEY_CREATE_LINK =
- Const SYNCHRONIZE =
- Const STANDARD_RIGHTS_ALL =
- '----------------------------------------------------------------
- Const KEY_READ = ((STANDARD_RIGHTS_READ Or _
- KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) _
- And (Not SYNCHRONIZE))
- Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or _
- KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
- Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or _
- KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY _
- Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) _
- And (Not SYNCHRONIZE))
- Const KEY_EXECUTE = ((KEY_READ) And (Not SYNCHRONIZE))
- Const ERROR_SUCCESS = 0
- '-----------------------------------------------------------------
- Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
- Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
- Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
- Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
- Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
- Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
- Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
- Private Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As Any) As Long
- Private Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Byte, lpcbData As Long) As Long
- '
- '功能:取某键值下的所有项
- '函数:RegEnumKeyVal
- '参数:hKey RegMainKey枚举,subKey 子键路径名称.
- '返回值:String 字符串数组
- '例子:
- Public Function RegEnumKeyVal(hKey As RegMainKey, subKey As String) As String()
- Dim mhKey As Long, Cnt As Long, sSave As String
- Dim RevVal() As String
- On Error Resume Next
- RegOpenKey hKey, "Enum", mhKey
- Do
- sSave = String(255, 0)
- If RegEnumKeyEx(mhKey, Cnt, sSave, 255, 0, vbNullString, ByVal 0&, ByVal 0&) <> 0 Then Exit Do
- Cnt = Cnt + 1
- Loop
- RegCloseKey mhKey
- RegOpenKey hKey, subKey, mhKey
- Cnt = 0
- Do
- sSave = String(255, 0)
- If RegEnumValue(mhKey, Cnt, sSave, 255, 0, ByVal 0&, ByVal 0&, ByVal 0&) <> 0 Then Exit Do
- Cnt = Cnt + 1
- ReDim Preserve RevVal(Cnt - 1)
- RevVal(Cnt - 1) = StripTerminator(sSave)
- Loop
- RegCloseKey hKey
- RegEnumKeyVal = RevVal
- End Function
- '
- '功能:建立子键.
- '函数:RegCreatesubKey
- '参数:hKey RegMainKey枚举,subKey 子键名称.
- '返回值:0 成功,其它值 失败.
- '例子:
- Public Function RegCreatesubKey(hKey As RegMainKey, subKey As String) As Variant
- Dim Ret As Variant
- If Left$(subKey, 1) = "/" Then subKey = Right$(subKey, Len(subKey) - 1)
- If Right$(subKey, 1) = "/" Then subKey = Left$(subKey, Len(subKey) - 1)
- RegCreateKey hKey, subKey, Ret
- RegCreatesubKey = Ret
- End Function
- '
- '功能:删除子键.
- '函数:RegDeletesubKey
- '参数:hKey RegMainKey枚举,subKey 子键名称.
- '返回值:无
- '例子:
- Public Function RegDeletesubKey(hKey As RegMainKey, subKey As String)
- If Left$(subKey, 1) = "/" Then subKey = Right$(subKey, Len(subKey) - 1)
- If Right$(subKey, 1) = "/" Then subKey = Left$(subKey, Len(subKey) - 1)
- RegDeleteKey hKey, subKey
- End Function
- '
- '功能:保存值到注册表.
- '函数:RegSaveData
- '参数:hKey RegMainKey枚举,subKey 子键名称.ValName 值名称,KeyVal 值,ValType RegDataType枚举.
- '返回值:0 成功,其它值 失败.
- '例子:
- Public Function RegSaveData(hKey As RegMainKey, subKey As String, ValName As String, KeyVal As String, Optional ValType As RegDataType = REG_SZ) As Long
- Dim Ret As Long
- On Error Resume Next
- Ret = 0
- If Left$(subKey, 1) = "/" Then subKey = Right$(subKey, Len(subKey) - 1)
- If Right$(subKey, 1) = "/" Then subKey = Left$(subKey, Len(subKey) - 1)
- If ValType = RegDataType.REG_BINARY Then
- Ret = SaveStringLong(hKey, subKey, ValName, KeyVal)
- Else
- Ret = SaveString(hKey, subKey, ValName, KeyVal)
- End If
- RegSaveData = Ret
- End Function
- '
- '功能:取注册表中的值.
- '函数:RegGetVal
- '参数:hKey RegMainKey枚举,subKey 子键名称.ValName 值名称
- '返回值:成功,返回注册表中的值,失败 NULL
- '例子:
- Public Function RegGetVal(hKey As RegMainKey, subKey As String, ValName As String) As Variant
- Dim Ret As Variant
- If Left$(subKey, 1) = "/" Then subKey = Right$(subKey, Len(subKey) - 1)
- If Right$(subKey, 1) = "/" Then subKey = Left$(subKey, Len(subKey) - 1)
- Ret = GetString(hKey, subKey, ValName)
- RegGetVal = Ret
- End Function
- '
- '功能:删除注册表中的值.
- '函数:RegDelVal
- '参数:hKey RegMainKey枚举,subKey 子键名称.ValName 值名称
- '返回值:成功,返回注册表中的值,失败 NULL
- '例子:
- Public Function RegDelVal(hKey As RegMainKey, subKey As String, ValName As String)
- DelSetting hKey, subKey, ValName
- End Function
- '/===================================================================================
- '/以下函数为功能函数.
- '/取注册表中的值.
- Function GetString(hKey As RegMainKey, subKey As String, ValName As String) As Variant
- On Error Resume Next
- Dim Ret As Variant
- RegOpenKey hKey, subKey, Ret
- GetString = RegQueryStringValue(Ret, ValName)
- RegCloseKey Ret
- End Function
- '/保存字符串.
- Function SaveString(hKey As RegMainKey, subKey As String, ValName As String, strData As String)
- Dim Ret As Variant
- Dim ReturnVal As Long
- On Error Resume Next
- RegCreateKey hKey, subKey, Ret
- ReturnVal = RegSetValueEx(Ret, ValName, 0, RegDataType.REG_SZ, ByVal strData, Len(strData))
- RegCloseKey Ret
- End Function
- '/保存值二进制值.
- Function SaveStringLong(hKey As RegMainKey, subKey As String, ValName As String, strData As String) As Variant
- Dim Ret As Variant
- On Error Resume Next
- RegCreateKey hKey, subKey, Ret
- RegSetValueEx Ret, ValName, 0, RegDataType.REG_BINARY, CByte(strData), 1
- RegCloseKey Ret
- End Function
- '/删除值
- Function DelSetting(hKey As RegMainKey, subKey As String, ValName As String)
- Dim Ret As Variant
- On Error Resume Next
- RegCreateKey hKey, subKey, Ret
- RegDeleteValue Ret, ValName
- RegCloseKey Ret
- End Function
- Function RegQueryStringValue(ByVal hKey As RegMainKey, ByVal ValName As String) As String
- Dim lResult As Long
- Dim lValueType As Long
- Dim strBuf As String
- Dim lDataBufSize As Long
- Dim strData As Long
- Dim RetVal As String
- On Error Resume Next
- lResult = RegQueryValueEx(hKey, ValName, 0, lValueType, ByVal 0, lDataBufSize)
- If lResult = 0 Then
- If lValueType = RegDataType.REG_SZ Then
- strBuf = String(lDataBufSize, Chr$(0))
- lResult = RegQueryValueEx(hKey, ValName, 0, 0, ByVal strBuf, lDataBufSize)
- If lResult = 0 Then
- RetVal = Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1)
- End If
- ElseIf lValueType = RegDataType.REG_BINARY Then
- lResult = RegQueryValueEx(hKey, ValName, 0, 0, strData, lDataBufSize)
- If lResult = 0 Then
- RetVal = strData
- End If
- End If
- End If
- RegQueryStringValue = RetVal
- End Function
- Private Function StripTerminator(sInput As String) As String
- Dim ZeroPos As Integer
- ZeroPos = InStr(1, sInput, vbNullChar)
- If ZeroPos > 0 Then
- StripTerminator = Left$(sInput, ZeroPos - 1)
- Else
- StripTerminator = sInput
- End If
- End Function
相关推荐
掌握VB6.0中的注册表操作技巧
本文还有配套的精品资源,点击获取 简介:VB6.0是用于Windows应用程序开发的编程环境,提供了通过API调用来编辑Windows注册表的能力。注册表是系统的核心数据库,管理着系统和应用程序的配置信息。学习如何在VB6.0中使用API函数操作注册表,包括键的创建、查询、修改及关闭,是软件配置和用户信息存储的关键。本文将指导如何在VB6.0中正确、安全地编辑注册表,包括数...
VB注册表编程
回想从02年为CPCW编写IntelSetXP注册表智能设置程序以来,至今已有五个年头,五来年从网上得到大家多少资料已说不清,今才把自己的资料整理发给大家,以供需要时使用。 下面代码可供大家尽情操作注册表。用于操作注册表的API函数定义 -begin-Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA"
VB访问注册表的函数举例及源代码
内容索引:VB源码,系统相关,注册表 VB操作注册表的函数举例及源代码,如果 GetSetting 的参数中的任何一项都不存在,则 GetSetting 返回 default 的值。测试读取指定键值,演示如何删除键值以及保存键值等,相对容易些的基本注册表访问方法示例,为我们以后从事更复杂的系统编程打下基矗
VB 注册表操作模块 代码
Attribute VB_Name = "Reg_Operation"这是一个操作注册表的Bas文件,其中包含可以建立新键值,删除键值,查询键值的函数.Powered by barenxOption ExplicitOption Base 0Public Declare Function RegCloseKey()Function RegCloseKey Lib "advapi32.dll"
VB注册表添加删除
有两个资源: 一、VB注册表添加删除 二、VB注册表值查看 默认路径可在代码中修改。
深入解析Docker Overlay2磁盘空间占用问题及高效清理策略
本文深入解析了Docker Overlay2存储驱动导致磁盘空间占用的核心原因,包括镜像与容器残留、日志文件膨胀、应用层泄漏及驱动特性。提供了从全局检查到精准定位的完整排查方法,并给出了从常规清理到配置优化的多维度高效清理策略,帮助用户从根本上解决Docker磁盘空间问题。
VB中使用API操作注册表
使用 Windows API 注册表函数 所谓 API(Application Programing Interface) 是 Windows 提供的一个32位环境下的应用程序编程接口,其中包括了众多的函数,提供了相当丰富的功能。我们在编制应用程序时,可以调用其中的注册表函数来对注册表进行操作以实现我们需要的功能。Windows API 中可用于注册表的函数一共有二十多个,根据其功能不同可以
S4 Hana SD -信贷管理 - 03
自动信用控制将针对同一信用控制范围的不同的客户风险类别和信贷组执行不同的信用控制政策。对于ECC系统而言,无需单独设置检查规则,可在自动信贷控制进行设置即可,如图1-5-2。在S4 HANA版本中,自动信贷控制和检查规则是分离的。S4系统需要在定义自动信贷控制的时候,给字段“SAP信用管理”打钩,激活检查规则,然后需要单独在检查规则页签设置检查规则。接下来,我们分别介绍ECC和S4 HANA系统中两种不同配置方式.6.2SPRO。
VB读写注册表的三种方法
读写注册表并不会比使用“Scripting.FileSystemObject”对象读写文件麻烦,而且方法很多。我这里列举三种: 一.用VB自带的函数读写 VB中有三个函数,用于操作注册表,分别是“GetSetting”、“SaveSetting”、“DeleteSetting”。我想从字面上应该也可以猜出它们的大致功能。 教科书似的使用说明我就不写了,我只用我自己的理解简单
MounRiver避坑实录:手把手迁移CH32V307 EVT工程到自定义目录
本文详细记录了将沁恒CH32V307的EVT工程迁移到自定义目录的完整流程与避坑指南。针对MounRiver Studio的虚拟链接机制,重点讲解了如何清理旧配置、重新设置头文件路径、链接脚本等关键步骤,帮助开发者创建独立、可维护的MCU项目工程。
手把手教你设计反激开关电源:从整流滤波到PCB布局的实战避坑指南
本文是一份反激开关电源的实战设计指南,重点解析了从整流滤波电路到PCB布局的关键细节与常见陷阱。文章深入探讨了输入保护元件协同设计、EMI滤波器优化、整流桥与滤波电容选型,并详细阐述了如何通过优化PCB布局来确保安规、最小化功率回路面积以控制噪声,旨在帮助工程师和爱好者规避设计误区,提升电源的可靠性与性能。
[原创]VB的注册表处理函数
由于VB没直接新建注册表的函数,所以本人写了四个API函数,用于直接对注册表操作,请指教!我的QQ:328266362EMAIL:stmp@163.com----------------------------------------------------------------------------这个模块通API函数定义了方便的注册表处理函数,后两个函数用于写入注册表自动运行项,实现开
copilot基于 DeepSeek-R1 思路构建 VLA 自动驾驶强化学习系统
下面给出一个完整示例代码,结合 DeepSeek‑R1 的技术方法,实现一个端到端的 VLA(视觉+语言行动)自动驾驶深度强化学习系统。.2f。
在VB中怎样操作注册表.
在VB中系统提供了对注册表操作的两个函数.但它们只可以操作特定的键.使用起来往往不能满足需要.下面的这个函数可以实现对注册表的所有操作.并且具有标准VB函数的通用性和易用性.请指点..Public Function SysRegControl(Optional ByVal RootKey As RegRootKey = regHKEY_LOCAL_MACHINE, Optional ByVal
《YOLO11改进有效涨点》 专栏目录 | 目前已有100+篇内容,内含各种Head检测头、损失函数Loss、Backbone、Neck等创新点改进【持续更新】
YOLO11改进专栏目录,YOLO11改进目录
【eclipse】win 10:eclipse 4.9 下载、安装和汉化(支持中英切换)
目录 一、eclipse下载 二、eclipse安装 三、eclipse在线汉化 四、eclipse离线汉化(推荐) 一、eclipse下载 ①官网下载地址(收费):https://www.eclipse.org/downloads/点击前往下载 ②【推荐】我的百度网盘下载地址(包括离线汉化包):点击下载 提取码:0nfw ③eclipse4.9其他地址下载:http...
在VB中读写注册表函数源码
在以下地址贴中有乱码,http://www.youkuaiyun.com/develop/article/8/8562.shtm 现补充如下:Public Function SysRegControl(Optional ByVal RootKey As RegRootKey = regHKEY_LOCAL_MACHINE, Optional ByVal SubKey As String = "",
OpenClaw一人公司落地案例:本地商家营销智能体月赚3万的秘密
角色:本地商家营销专家## 核心目标为商家生成高转化率的抖音营销策略,最大化 ROI。## 输入数据- 商家名称: "XX奶茶店"- 过去 30 天视频播放量: 12,000- 客单价: 28 元- 竞品平均播放量: 15,000- 市场趋势: rising## 策略生成规则1. **内容类型**:根据客单价推荐- < 30 元:美食探店 + 优惠券- > 30 元:场景化故事 + 会员权益2. **发布时间**:根据历史数据- 18:00-20:00 高峰期。
[原创]在VB6.0中访问注册表
作者:bluesky35(蓝天)以下声明定义在模块中:Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Lon
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
几行VB代码拿下注册表
'****************************注册表操作函数**********************'声明:以下代码由轻风工作室REDICE编写,引用时请作一说明。'**************************************************************** '*****下面先声明一些常量**************************...
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
用VB操作注册表
用VB操作注册表 作者:不详 来源于:中国VB网 发布时间:2004-12-20用VB操作注册表 在Windows出问题时,如果能够了解Windows系统的注册表,将更容易解决问题; 许多商品化的软件或专业化的软件在您的机器上首次安装的时候都会通过改写注册表来完成软件的正确安装运行,要成为编程高手当然需要掌握读写注册表这一技术。用好注册表将会为您的应用程
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
vb6.0快速操作注册表函数大全(仅字符串KEY值部分)
Option Explicit '声明要加载的函数 Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare ...
操作注册表
简介 注册表最开始是出现在Windows 3.x,是用来为OLE保存数据的。那时Windows和其应用程序的设置值大多都保存在各不相同的.INI文件中。例如我们最为熟悉的System.ini和Win.ini就是这样的文件。当软件越安越多,这种文件也越来越多,而且遍布硬盘的各个角落。既不便于管理,也浪费了很多磁盘空间(因为这些文件大多都很小)。 当Windows 95推出的时候,注册表应
1518



被折叠的 条评论
为什么被折叠?



