什么是”ByRef参数类型不符“错误?
chxlp 2004-02-27 11:27:24 我的一段关于读出注册表值的程序老是报错:ByRef参数类型不符,能帮我看看是什么原因吗?谢谢!
模块里:Public Function ReadValue(mainkey As Long, keyname As String, value As String) As String
Dim phkResult As Long
Dim re As Long
Dim buffer As String
Dim size As Long
On Error GoTo err
If RegOpenKeyEx(mainkey, keyname, 0, KEY_ALL_ACCESS, phkResult) <> ERROR_SUCCESS Then
Call RegCloseKey(phkResult)
End If
re = RegQueryValueEx(phkResult, value, 0, REG_SZ, 0&, size)
If re <> ERROR_SUCCESS Then
Call RegCloseKey(phkResult)
End If
buffer = String$(size - 1, 0)
re = RegQueryValueEx(phkResult, value, 0, REG_SZ, buffer, size)
If re <> ERROR_SUCCESS Then
Call RegCloseKey(phkResult)
End If
ReadValue = buffer '返回函数值
err:
Call RegCloseKey(phkResult)
End Function
调用中的出错语句:
ret = ReadValue(HKEY_LOCAL_MACHINE,“SYSTEM\ControlSet001\Control\Session Manager\Environment", ”Path“)
每次出错都把光标定位在HKEY_LOCAL_MACHINE上。