注册表操作类 vc++

系统 1681 0

这个其实发在这里有点不合适,因为在.NET环境下本身很多数据都采用xml格式化,存储在本地,另一方面是.net的类库也非常的灵活,对注册表操作非常方便,没有必要画蛇添足来这么一个包装的类,但是如果你用 vc++ , WIN32 API ,做开发的时候,你会发现要对注册表操作非常的困难,更让人寒心的是,它居然没有提供对注册表键的重命名,在NTDLL.dll 中有一个可以替代的API:NTRenameKey, 但是它只有winXP之后的操作系统才提供,所以,笔者在这里提供这样一个操作类,主要是弥补了 WIN32 API 在这方面的不足。如果读者有兴趣的话可以去看 Dan Madden 写的一篇文章: http://www.codeproject.com/KB/system/NtRegistry.aspx 但是他的项目必须要用到MFC的类库,感觉不爽。

废话到此为止。
主要方法:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> bool  ExistKey(HKEY hKey,  const  LPTSTR subKey)  const ; //是否存在这样一个键
 
bool  KeyRename(HKEY hKey, LPTSTR lpRootKey, LPTSTR lpOldName, LPTSTR lpNewName); // hKey 为HKEY_* 之一, lpRootKey下面的 lpOldName名字改成 lpNewName , 比如要把SOFTWARE\\*\\subkey\\TEST改成 SOFTWARE\\*\\subkey\\renamed, 参数设置应该如下: lpRootKey =  SOFTWARE\\*\\subkey, lpOldName = TEST, lpNewName= renamed
bool  CopyKeyValues(HKEY hKey,  const  LPTSTR lpSourceKey,  const  LPTSTR lpDestKey)  const ; //把 lpSourceKey 键的所有值,复制给 lpDestKey
bool  DeleteKey(HKEY hKey,  const  LPTSTR lpSubKey)  const ;// 删除 lpSubKey下所有的键,子键,值
bool  HasSubKey(HKEY hKey,  const  LPTSTR lpSubKey)  const ; //是否有子键

代码下载:

我是下载链接

所有代码在vc6.0 windows XP下测试通过。

注册表操作类 vc++


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论