首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB中实现写入注册表,该怎么解决

2012-01-29 
VB中实现写入注册表我在VB中想做一个按钮,是写入注册表的PrivateSub显示隐藏_Click()WindowsRegistryEdito

VB中实现写入注册表
我在VB中想做一个按钮,是写入注册表的  

Private   Sub   显示隐藏_Click()  

Windows   Registry   Editor   Version   5.00  

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]  
"RegPath "= "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced "  
"CheckedValue "=dword:00000001  

End   Sub  


[解决办法]

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]
"RegPath "= "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced "
"CheckedValue "=dword:00000001
保存为注册表文件,然后调用运行文件即可

======================================================
红松软件 http://hongsong.huanqiuit.com/
软件论坛 http://5x51.com/hongsong/
本网站推出只要注册本站会员,就送一套正版软件活动,此
活动截至日期2007-08-15。所需要点软件在本网站中自己挑
选一个。

论坛前10位会员,赠送VIP会员资格!!!
======================================================
[解决办法]
Option Explicit
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
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 RegCloseKey Lib "advapi32.dll " (ByVal hKey As Long) As Long

Private Const STANDARD_RIGHTS_ALL As Long = &H1F0000
Private Const KEY_QUERY_VALUE As Long = &H1
Private Const KEY_SET_VALUE As Long = &H2
Private Const KEY_CREATE_SUB_KEY As Long = &H4
Private Const KEY_ENUMERATE_SUB_KEYS As Long = &H8
Private Const KEY_NOTIFY As Long = &H10
Private Const KEY_CREATE_LINK As Long = &H20
Private Const SYNCHRONIZE As Long = &H100000
Private Const KEY_ALL_ACCESS As Long = ((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))

Private Const HKEY_LOCAL_MACHINE As Long = &H80000002
Private Const REG_OPTION_NON_VOLATILE As Long = 0

Private Declare Function RegSetValueExStr Lib "advapi32 " Alias "RegSetValueExA " _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, ByVal szData As String, ByVal cbData As Long) As Long
Private Declare Function RegSetValueExLong Lib "advapi32 " Alias "RegSetValueExA " _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, szData As Long, ByVal cbData As Long) As Long
Private Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Private Const REG_DWORD As Long = 4
Private Const REG_SZ As Long = 1
Private Const REG_CREATED_NEW_KEY As Long = &H1
Private Const REG_OPENED_EXISTING_KEY As Long = &H2

Private Sub Command1_Click()
Dim c As Long
Dim hKey As Long
Dim e As Long
Dim tSA As SECURITY_ATTRIBUTES

'Open or Create the key


e = RegCreateKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL ", 0, " ", REG_OPTION_NON_VOLATILE, _
KEY_ALL_ACCESS, tSA, hKey, REG_CREATED_NEW_KEY)
e = RegSetValueExLong(hKey, "CheckedValue2 ", 0&, REG_DWORD, 1, 4)
Dim s As String
s = "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced "
c = Len(s) + 1
e = RegSetValueExStr(hKey, "RegPath2 ", 0&, REG_SZ, s, c)

RegCloseKey hKey
End Sub

热点排行