文/朱文刚
用VB编程,在打开一个主键时,常常会用RegOpenKey,比如要锁定注册表就写成:
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpen
ult 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)巧 巧 读 书:http://www.qqread.com/vb/e217617.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- VB+Access设计图书管理系统 (104238次浏览)
- VB设计有语音报时和报警功能的闹钟 (13528次浏览)
- 用VB打造“超酷”个性化菜单 (667次浏览)
- VB基础学习:编码规范 (654次浏览)
- 对注册表进行编程的“捷径” (646次浏览)
- 在IIS中建立WEB站点的例子! (603次浏览)
- 用VB6.0设计简易赛车游戏 (414次浏览)
- 导入注册表设置 (308次浏览)
- 用Visual Basic.NET编写扑克牌游戏 (189次浏览)
- VB急速密码生成---RndString (188次浏览)



