VB程序员博客
程序如下,请看看哪里出错?
Private Sub Command1_Click()
If SaveKey(HKEY_CLASSES_ROOT, "ServoWorksS100M", "s100m.txt") = True Then
MsgBox "save!"
End If
End Sub
Public Function SaveKey(KeyRoot As KeyRoot, KeyName As String, FileName As String) As Boolean
On Error Resume Next
Dim lpAttr As SECURITY_ATTRIBUTES ' 注册表安全类型
lpAttr.nLength = 50 ' 设置安全属性为缺省值…
lpAttr.lpSecurityDescriptor = 1 ' …
lpAttr.bInheritHandle = True ' …
If EnablePrivilege(SE_BACKUP_NAME) = False Then
SaveKey = False
Exit Function
End If
Success = RegOpenKeyEx(KeyRoot, KeyName, 0&, KEY_ALL_ACCESS, hKey)
If Success <> 0 Then
SaveKey = False
Success = RegCloseKey(hKey)
Exit Function
End If
Success = RegSaveKey(hKey, FileName, lpAttr)
If Success = 0 Then SaveKey = True Else SaveKey = False
Success = RegCloseKey(hKey)
End Function
每次都是红色字体处 返回87(参数错误),但是错在哪里?
Private Declare Function RegSaveKey Lib "advapi32.dll" Alias "RegSaveKeyA" (ByVal hKey As Long, ByVal lpFile As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long
都是这样的声明, 问题到底在哪里呢?
我看网上的帖子都是说regsavekey这样那样的问题,就没有看见一个正常使用的例子,而我用的也都是别人封装好的注册表操作程序,为什么regsavekey会让无数的人一直反复的烦恼呢?
没有人了解吗?
标签: , regsavekey, 返回