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

问VB中如何利用WINDOWSAPI函数对注册表编程?

答案:
Public Const hkey as Long
Public Const reg_sz As Long = 1
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_CURRENT_USER = &H80000001

Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

在指定的项下创建一个新项。如指定的项已经存在,那么函数会打开现有的项

hKey ----------- Long,要打开项的句柄,或者一个标准项名

lpSubKey ------- String,欲创建的新子项。可同时创建多个项,只需用反斜杠将它们分隔开即可。例如level1\level2\newkey

phkResult ------ Long,指定一个变量,用于装载新子项的句柄

Public 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 ' Note that if you declare the lpData parameter as String, you must pass it By Value.


hKey ----------- Long,一个已打开项的句柄,或指定一个标准项名

lpValueName ---- String,要设置值的名字

Reserved ------- Long,未用,设为零

dwType --------- Long,要设置的数量类型

lpData --------- Any,包含数据的缓冲区中的第一个字节

cbData --------- Long,lpData缓冲区的长度

比如要增加一个启动项目:

dim hkey as long
dim str as string
str="c:\t1.exe"
RegCreateKey HKEY_LOCAL_MACHINE, "software\microsoft\windows\currentversion\run", hkey

RegSetValueEx hkey, "test", 0, reg_sz, ByVal str, len(str)

删除

Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hkey As Long, ByVal lpValueName As String) As Long

RegDeleteValue hkey, "test"

没明白可以补充

上一个:编程4大排序方法求VB解释与实例
下一个:VB中CommonDialog控件的Flag属性都可以设置哪些值

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