当前位置:编程学习 > VB >>

VB怎么弄注册表?

请告诉我代码!!!

如果要用到类模块的话,请直接把VB保存文件发到我邮箱!

candys_yang@126.com

补充:噢!对不起啊!

忘了说,是把软件目录下的一个“注册表.reg ”把这个打到系统注册表上!

答案:你先要明白注册表的结构和功能,你最好下专门的注册表教程来看看。

vb控制注册表的API函数
RegCloseKey

VB声明
private Declare Function RegCloseKey Lib "advapi32.dll" Alias "RegCloseKey" (ByVal hKey As Long) As Long
说明
关闭系统注册表中的一个项(或键)
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
参数表
参数类型及说明
hKeyLong,要关闭的项



RegConnectRegistry

VB声明
private Declare Function RegConnectRegistry Lib "advapi32.dll" Alias "RegConnectRegistryA" (ByVal lpMachineName As String, ByVal hKey As Long, phkResult As Long) As Long
说明
访问远程系统的部分注册表
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
参数表
参数类型及说明
lpMachineNameString,欲连接的系统。采用“\\计算机名”的形式
hKeyLong,HKEY_LOCAL_MACHINE 或 HKEY_USERS
phkResultLong,用于装载指定项句柄的一个变量


RegCreateKey

VB声明
private  Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
说明
在指定的项下创建一个新项。如指定的项已经存在,那么函数会打开现有的项
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
参数表
参数类型及说明
hKeyLong,要打开项的句柄,或者一个标准项名
lpSubKeyString,欲创建的新子项。可同时创建多个项,只需用反斜杠将它们分隔开即可。例如level1\level2\newkey
phkResultLong,指定一个变量,用于装载新子项的句柄



RegCreateKeyEx

VB声明
private Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long
说明
在指定项下创建新项的更复杂的方式。在Win32环境中建议使用这个函数。如指定的项已经存在,则函数会打开现有的项
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
参数表
参数类型及说明
hKeyLong,一个打开项的句柄,或者一个标准项名
lpSubKeyString,欲创建的新子项的名字
ReservedLong,设为零
lpClassString,项的类名
dwOptionsLong,下述常数为零:REG_OPTION_VOLATILE——这个项不正式保存下来,系统重新启动后会消失
samDesiredLong,带有前缀KEY_??的一个或多个常数。它们组合起来描述了允许对这个项进行哪些操作
lpSecurityAttributesSECURITY_ATTRIBUTES,对这个项的安全特性进行描述的一个结构(用ByVal As Long传递空值)。不适用于windows 95
phkResultLong,指定用于装载新子项句柄的一个变量
lpdwDispositionLong,用于装载下列某个常数的一个变量:
REG_CREATED_NEW_KEY——新建的一个子项
REG_OPENED_EXISTING_KEY——打开一个现有的项
注解

REG_OPTION_VOLATILE不适用于windows 95


RegDeleteKey

VB声明
private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
说明
删除现有项下方一个指定的子项
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
参数表
参数类型及说明
hKeyLong,一个已打开项的句柄,或者标准项名之一
lpSubKeyString,要删除项的名字。这个项的所有子项也会删除



RegDeleteValue

VB声明
private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
说明
删除指定项下方的一个值
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
参数表
参数类型及说明
hKeyLong,一个已打开项的句柄,或标准项名之一
lpValueNameString,要删除的值名。可设为vbNullString或一个空串,表示删除那个项的默认值

RegEnumKey

VB声明
private Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long
说明
枚举指定项的子项。在Win32环境中应使用[url=mk:@MSITStore:\学习\VB\700多个API函数的详细介绍,CHM%20格式\api32.chm::/RegEnumKeyEx.htm]RegEnumKeyEx[/url]
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
参数表
参数类型及说明
hKeyLong,一个已打开项的句柄,或者指定一个标准项名
dwIndexLong,欲获取的子项的索引。第一个子项的索引编号为零
lpNameString,用于装载指定索引处项名的一个缓冲区
cbNameLong,lpName缓冲区的长度

上一个:VB项目数据库连接
下一个:vb.net问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,