首页 天气预报 新闻 邮箱 搜索 短信 聊天
上移动梦网
赢手机大奖

新浪首页 > 科技时代 > 网上学园 > 开 发 者 > 正文
在VB编程中使用系统“注册表”

http://www.sina.com.cn 2002/09/29 15:47 赛迪网--中国电脑教育报

  文/朱文刚

  用VB编程,在打开一个主键时,常常会用RegOpenKey,比如要锁定注册表就写成:

  Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpen

  KeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkRes
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)


发表评论】【初学者园地】【科技聊天】【关闭窗口

新 闻 查 询

【学园专题】Visual Basic编程技巧
 相关链接
不要忽视字体设置造成的乱码显示(2002/09/26 15:14)
实现橡皮筋技术构造直线段的VB程序(2002/08/30 16:22)
解除网虫的心病 用VB做定时断线程序(2002/08/14 13:48)
解除网虫的心病 用VB做定时断线程序 (2002/08/14 13:48)
VB.NET:给Visual Basic带来革命! (2002/03/29 15:56)
在VB编程中用Winsock实现文件下载 (2002/03/22 17:15)
在VB编程中实现图片背景透明效果 (2002/01/29 18:16)
用VB实现程序之间的简单通信 (2001/12/26 16:45)
VB通过DAO访问Access数据库 (2001/11/08 14:06)
VB.NET中的面向对象编程特征 (2001/10/23 13:23)
用VB导入导出IE浏览器收藏夹 (2001/09/18 11:22)
VB.NET的重大转变 (2001/09/14 17:17)


科技时代意见反馈留言板 电话:010-82612286 或 010-82628888-5488   欢迎批评指正

新浪简介 | 用户注册 | 广告服务 | 招聘信息 | 中文阅读 | Richwin | 联系方式 | 产品答疑

Copyright © 1996 - 2002 SINA.com, Stone Rich Sight. All Rights Reserved

版权所有 四通利方 新浪网