扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpen
KeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
......
Dim Hkey,r As Long
r=RegOpenKey(HKCU,LockREG,Hkey)
........
但是,有没有想过有的用户注册表中没有System主键,就无法打开这个子键,也就无法实现这个功能。解决的办法是用另一个API,RegCreateKey这个API有主键则打开,如果没有就自动创建并打开。所以上面的代码应写成
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
......
r=RegCreateKey(HKCU,LockREG,Hkey)
......
这样就不会出错了。放弃RegOpenKey吧,把用RegOpenKey的地方全部改成RegCreateKey,因为参数相同,所以不会出错。这样你的软件才能在所有用户的机器上通行无阻。(文中的HKCU=HKEY_CURRENT_USER;LockREG=Software\Microsoft\Windows\CurrentVerson\Policies\System)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。