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 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 Const READ_CONTROL = &H20000 Const KEY_QUERY_VALUE = &H1 Const KEY_SET_VALUE = &H2 Const KEY_CREATE_SUB_KEY = &H4 Const KEY_ENUMERATE_SUB_KEYS = &H8 Const KEY_NOTIFY = &H10 Const KEY_CREATE_LINK = &H20 Const KEYACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _ KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _ KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL Const ER = 3Private Sub Command1_Click() Dim rc Dim KeyRoot Dim KeyName Dim hKey As Long Dim myvalue As String, subkey As String Dim mysize As Long Dim KeyValType As Long ' 注册键的数据类型KeyRoot = &H80000002 KeyName = "SYSTEM\Controlset001\control\biosinfo" ' "system\currentcontrolset\services\vxd\mstcp" hKey = 0 subkey = "InfName"rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEYACCESS, hKey)myvalue = String$(1000, 0) mysize = 1000 KeyValType = 7 rc = RegQueryValueEx(hKey, subkey, 0, KeyValType, myvalue, mysize) ' 获得/创建键值 '运行到上一行时系统说 该内存不能为"Read","确定"就退出了。 Text1.Text = myvalue RegCloseKey (hKey) End Sub98+VB6下没问题
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 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
Const READ_CONTROL = &H20000
Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const KEY_CREATE_SUB_KEY = &H4
Const KEY_ENUMERATE_SUB_KEYS = &H8
Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK = &H20
Const KEYACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
Const ER = 3Private Sub Command1_Click()
Dim rc
Dim KeyRoot
Dim KeyName
Dim hKey As Long
Dim myvalue As String, subkey As String
Dim mysize As Long
Dim KeyValType As Long ' 注册键的数据类型KeyRoot = &H80000002
KeyName = "SYSTEM\Controlset001\control\biosinfo" ' "system\currentcontrolset\services\vxd\mstcp"
hKey = 0
subkey = "InfName"rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEYACCESS, hKey)myvalue = String$(1000, 0)
mysize = 1000
KeyValType = 7
rc = RegQueryValueEx(hKey, subkey, 0, KeyValType, myvalue, mysize) ' 获得/创建键值
'运行到上一行时系统说 该内存不能为"Read","确定"就退出了。
Text1.Text = myvalue
RegCloseKey (hKey)
End Sub98+VB6下没问题
dbcontrols(泰山__帮助你使我感到快乐.):我在98机器上试过了,还是非法操作。
各位快快帮帮我吧!