给了注册表操作类你,想怎么操作注册表就怎么操作
'这是一个操作注册表的Bas文件,其中包含可以建立新键值,删除
'键值,查询键值的函数
'Sub Main()
'函数在注册表的"HKEY_CURRENT_USER\Software"中建立了
'一个SubKey1项并在其中建立了值,并在显示后删除建立
'的值,如果你想通过RegEdit看到结果,可以将最后两句
'删除,不过要记得手动删除建立的键值
'CreateNewKey HKEY_CURRENT_USER, "Software\SubKey1\SubKey2"
'SetKeyValue HKEY_CURRENT_USER, "Software\SubKey1\SubKey2", "Test", "This is just a test", REG_SZ
'MsgBox QueryValue(HKEY_CURRENT_USER, "Software\SubKey1\SubKey2", "Test")
'DeleteValue HKEY_CURRENT_USER, "Software\SubKey1\SubKey2", "Test"
'DeleteKey HKEY_CURRENT_USER, "Software\SubKey1\SubKey2"
'End Sub
Option Explicit
Global Const REG_SZ As Long = 1
Global Const REG_DWORD As Long = 4
Global Const HKEY_CLASSES_ROOT = &H80000000
Global Const HKEY_CURRENT_USER = &H80000001
Global Const HKEY_LOCAL_MACHINE = &H80000002
Global Const HKEY_USERS = &H80000003
Global Const ERROR_NONE = 0
Global Const ERROR_BADDB = 1
Global Const ERROR_BADKEY = 2
Global Const ERROR_CANTOPEN = 3
Global Const ERROR_CANTREAD = 4
Global Const ERROR_CANTWRITE = 5
Global Const ERROR_OUTOFMEMORY = 6
Global Const ERROR_INVALID_PARAMETER = 7
Global Const ERROR_ACCESS_DENIED = 8
Global Const ERROR_INVALID_PARAMETERS = 87
Global Const ERROR_NO_MORE_ITEMS = 259
Global Const KEY_ALL_ACCESS = &H3F
Global Const REG_OPTION_NON_VOLATILE = 0
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
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, ByVal lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Declare Function RegQueryValueExString Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
Declare Function RegQueryValueExLong Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Long, lpcbData As Long) As Long
Declare Function RegQueryValueExNULL Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As Long, lpcbData As Long) As Long
Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long
Declare Function RegSetValueExLong Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long
Private Declare Function RegDeleteKey& Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String)
Private Declare Function RegDeleteValue& Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String)
Public Function DeleteKey(lPredefinedKey As Long, sKeyName As String)
Dim lRetVal As Long
Dim hKey As Long
lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
lRetVal = RegDeleteKey(lPredefinedKey, sKeyName)
RegCloseKey (hKey)
End Function
Public Function DeleteValue(lPredefinedKey As Long, sKeyName As String, sValueName As String)
Dim lRetVal As Long
Dim hKey As Long
lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
lRetVal = RegDeleteValue(hKey, sValueName)
RegCloseKey (hKey)
End Function
Public Function SetValueEx(ByVal hKey As Long, sValueName As String, lType As Long, vValue As Variant) As Long
Dim lValue As Long
Dim sValue As String
Select Case lType
Case REG_SZ
sValue = vValue
SetValueEx = RegSetValueExString(hKey, sValueName, 0&, lType, sValue, Len(sValue))
Case REG_DWORD
lValue = vValue
SetValueEx = RegSetValueExLong(hKey, sValueName, 0&, lType, lValue, 4)
End Select
End Function
Function QueryValueEx(ByVal lhKey As Long, ByVal szValueName As String, vValue As Variant) As Long
Dim cch As Long
Dim lrc As Long
Dim lType As Long
Dim lValue As Long
Dim sValue As String
On Error GoTo QueryValueExError
lrc = RegQueryValueExNULL(lhKey, szValueName, 0&, lType, 0&, cch)
If lrc <> ERROR_NONE Then Error 5
Select Case lType
Case REG_SZ:
sValue = String(cch, 0)
lrc = RegQueryValueExString(lhKey, szValueName, 0&, lType, sValue, cch)
If lrc = ERROR_NONE Then
vValue = Left$(sValue, cch)
Else
vValue = Empty
End If
Case REG_DWORD:
lrc = RegQueryValueExLong(lhKey, szValueName, 0&, lType, lValue, cch)
If lrc = ERROR_NONE Then vValue = lValue
Case Else
lrc = -1
End Select
QueryValueExExit:
QueryValueEx = lrc
Exit Function
QueryValueExError:
Resume QueryValueExExit
End Function
Public Function CreateNewKey(lPredefinedKey As Long, sNewKeyName As String)
Dim hNewKey As Long
Dim lRetVal As Long
lRetVal = RegCreateKeyEx(lPredefinedKey, sNewKeyName, 0&, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0&, hNewKey, lRetVal)
RegCloseKey (hNewKey)
End Function
Public Function SetKeyValue(lPredefinedKey As Long, sKeyName As String, sValueName As String, vValueSetting As Variant, lValueType As Long)
Dim lRetVal As Long
Dim hKey As Long
lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
lRetVal = SetValueEx(hKey, sValueName, lValueType, vValueSetting)
RegCloseKey (hKey)
End Function
Public Function QueryValue(lPredefinedKey As Long, sKeyName As String, sValueName As String)
Dim lRetVal As Long
Dim hKey As Long
Dim vValue As Variant
lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
lRetVal = QueryValueEx(hKey, sValueName, vValue)
QueryValue = vValue
RegCloseKey (hKey)
End Function
【VB】修改注册表的DWORD值
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_DWORD = 4
Private Sub Command1_Click()
Dim lReturn As Long '储存返回值以判断是否成功
Dim hKey As Long '储存该键句柄
'打开键(此处用RegCreateKey而不用RegOpenKey是因为若键存在,则两者效果相同;若不存在,则前者创建该键,后者报错)
lReturn = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL", hKey)
'检测是否为成功(0)
If lReturn = 0 Then
'此处设置键值.设置DWORD时第五个参数为欲修改成的值(Long),最后一个参数总设为4
lReturn = RegSetValueEx(hKey, "CheckedValue", 0, REG_DWORD, 1, 4)
'检测是否失败
If lReturn <> 0 Then MsgBox "失败"
Else
MsgBox "失败"
End If
End Sub
vb 定义 DWORD
dim start as long
dim DllRes(1024) as byte
dim HWND as long
dim DLL(1024) as byte
【VB】修改注册表的DWORD值
Dim Reg
Set Reg=WScript.CreateObject("WScript.Shell")
Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background\OEMBackground
","0","REG_DWORD"
如何用VB读取Dword中十六进制的值
Option Explicit
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 RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey 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 Const HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_DWORD As Long = 4
Private Sub Form_Load()
Dim hKey As Long, mSubKey As String
mSubKey = "SOFTWARE\Microsoft\Internet Explorer\AboutURLs\"
Call RegOpenKey(HKEY_LOCAL_MACHINE, mSubKey, hKey)
Dim nValue As Long
Call RegQueryValueEx(hKey, "Home", 0, REG_DWORD, nValue, 4)
MsgBox nValue
Call RegCloseKey(hKey)
End Sub
请问如何用VB将注册表里的DWORD值转换成能看懂的文字串?
vb里面是可以把一个数字转换成一个日期/时间的。具体地,1 表示 1899年12月31日,依此类推下去。这个数字也可以是负数。vb显示日期的范围是 公元 100 年 1 月 1 日到公元 9999 年 12 月 31 日。因此可以这样:
'放一个按钮在form里面看效果(a是日期数字):
Private Sub Command1_Click()
Dim a As Double, b As String
a = 1
b = FormatDateTime(a, vbGeneralDate)
MsgBox b
End Sub
输出的b就是对应的日期啦~~~这个方法应该是可行的,你可以试试看~~~解决了这个日期显示的问题,我相信十六进制转成十进制就不算什么难题啦...
VB6.0怎么安装 系统是WIN7
我就是win764位旗舰版,安装的是vb6.0的精简版。
非常简单,直接用百度搜索“vb6.0”,然后会出来一堆下载地址,选在ZOL中关村下载,可以直接安装,多少年了,一直用这个,大的软件平台也没病毒,比较安全放心。
希望对你有用,下载地址如下:
http://xiazai.zol.com.cn/xiazaiDown.php?n=de11294b2d213fe65&softid=29939&type=5
不过vb6.0必须在win7下面修改一下兼容性,不然win7特效会让vb6.0各种控件像乌龟一样慢,修改方法是,在安装好的vb6.0.exe文件上点鼠标右键,选择属性,然后按照下图操作。
vb 编程 中汇编 应用,请问 mov edi, dword ptr [esi] ,在vb 里面怎么实现啊? End Function ,急!!
OPcode = OPcode + "8B3E"
转载请注明出处51数据库 » vb下载cdword vb新建regdword
骚年应该有内涵
