在VB中使用注册表,第1张

在VB中使用注册表,第2张

用VB编程,打开一个主键时,经常用到RegOpenKey。例如,为了锁定注册表,它被写成:

私有声明函数RegOpenKey Lib "advapi32.dll "别名" RegOpen

KeyA" (ByVal hKey为Long,ByVal lpSubKey为String,phkResult为Long)为Long

......

Dim Hkey,r一样长

r=RegOpenKey(HKCU,洛克雷,香港)

........

但是,你有没有想过,如果有些用户的注册表里没有系统主键,他们就打不开这个子项,所以无法实现这个功能?解决方案是使用另一个API RegCreateKey。这个API有主键就打开,没有主键就自动创建打开。所以上面的代码应该写成

私有声明函数RegCreateKey Lib "advapi32.dll "别名" RegCreateKeyA" (ByVal hKey为Long,ByVal lpSubKey为String,phkResult为Long)为Long

......

r=RegCreateKey(HKCU,洛克雷,香港)

......

这样就不会出错了。放弃RegOpenKey,把所有使用RegOpenKey的地方都改成RegCreateKey。因为参数一样,不会错的。这样,你的软件就可以在所有用户的机器上畅通无阻地运行。(文中HKCU = HKEY _当前_用户;lock reg = Software \ Microsoft \ Windows \ current person \ Policies \ System)

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 在VB中使用注册表

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情