我该怎么去定义子程序和函数的问题!!急

代码如下:

Private Sub Command1_Click() '去掉警告信息
Dim hkey As Long
RegCreateKey HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\Winlogon", hkey
RegDeleteValue hkey, "legalnoticecaption"
RegDeleteValue hkey, "LegalNoticeText"
MsgBox "已完成设置,请重新启动计算机!", , "提示信息"
End Sub

Private Sub Command2_Click() '添加警告信息
Dim hkey As Long
RegOpenKeyEx HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion", 0, 0, hkey
RegCreateKey HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\Winlogon", hkey
Dim a As Byte
a = &O1
RegSetValueEx hkey, "legalnoticecaption", 0, REG_SZ, ByVal Text1.Text, 255
RegSetValueEx hkey, "LegalNoticeText", 0, REG_SZ, ByVal Text2.Text, 255
MsgBox "已完成设置,请重新启动计算机!", , "提示信息"
End Sub

RegCreateKey为何显示子程序或函数未定义??又如何定义?

杨__羊羊
浏览 311回答 3
3回答

慕尼黑的夜晚无繁华

该函数是API函数,将下面代码保存为Reg.Bas就可以正常使用了。'养成好习惯代表所有变量都需要先定义后使用Option Explicit'根键常数Public Const HKEY_CLASSES_ROOT = &H80000000Public Const HKEY_CURRENT_USER = &H80000001Public Const HKEY_LOCAL_MACHINE = &H80000002Public Const HKEY_USERS = &H80000003Public Const HKEY_PERFORMANCE_DATA = &H80000004Public Const HKEY_CURRENT_CONFIG = &H80000005Public Const HKEY_DYN_DATA = &H80000006'键值类型Public Const REG_NONE = 0Public Const REG_SZ = 1 '字符串值Public Const REG_EXPAND_SZ = 2Public Const REG_BINARY = 3 '二进制值Public Const REG_DWORD = 4 'DWORD 值Public Const REG_DWORD_BIG_ENDIAN = 5Public Const REG_MULTI_SZ = 7'----声明有关注册表API函数 --Start----'建立一个新的主键Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _( _ByVal hKey As Long, _ByVal lpSubKey As String, _ByRef phkResult As Long _) As Long'打开一个主键 返回0代表打开成功,返回2代表打开失败Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _( _ByVal hKey As Long, _ByVal lpSubKey As String, _ByRef phkResult As Long _) As Long'删除一个主键Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" _( _ByVal hKey As Long, _ByVal lpSubKey As String _) As Long'关闭一个主键 返回0代表关闭成功,6代表关闭失败Public Declare Function RegCloseKey Lib "advapi32.dll" _( _ByVal hKey As Long _) As Long'创建或改变一个键值,lpData应由缺省的ByRef型改为ByVal型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, _ByVal lpData As Any, _ByVal cbData As Long _) As Long'查询一个键值,lpData应由缺省的ByRef型改为ByVal型Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _( _ByVal hKey As Long, _ByVal lpValueName As String, _ByVal lpReserved As Long, _ByRef lpType As Long, _ByVal lpData As Any, _ByRef lpcbData As Long _) As Long'删除一个键值Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" _( _ByVal hKey As Long, _ByVal lpValueName As String _) As Long'----声明有关注册表API函数 End----

慕妹3242003

在声明里加上Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long其他几个注册表函数也要声明

MMTTMM

API函数还没定义,不能直接调用Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As LongPrivate Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As LongPrivate 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 LongPrivate Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
CSS3