前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows注册表操作基础代码

Windows注册表操作基础代码

作者头像
Florian
发布2018-02-05 10:36:19
9990
发布2018-02-05 10:36:19
举报
文章被收录于专栏:技术点滴技术点滴

Windows注册表操作基础代码

    Windows下对注册表进行操作使用的一段基础代码Reg.h:

代码语言:js
复制
#pragma once
#include<assert.h>
#include<windows.h>
class Reg
{
    HKEY hkey;
public:
 void open(HKEY root,char*subKey);//打开注册表键,不存在则创建
 void del(HKEY root,char*subKey);//删除注册表键
 void close();//关闭注册表键
 void setValue(char*name,char*data);//设置注册表值,不存在则创建
 void getValue(char*name,char*value);//获取注册表值
 void delValue(char*name);//删除注册表值
};

void Reg::open(HKEY root,char*subKey)
{
 long lret=RegCreateKeyEx(root,(LPCTSTR)subKey,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hkey,NULL);
    assert(lret==ERROR_SUCCESS);
}
void Reg::del(HKEY root,char*subKey)
{
 long lret=RegDeleteKey(root,(LPCTSTR)subKey);
    assert(lret==ERROR_SUCCESS);
}
void Reg::close()
{
 long lret=RegCloseKey(hkey);
    assert(lret==ERROR_SUCCESS);
}
void Reg::setValue(char*name,char*data)
{
 long lret=RegSetValueEx(hkey,(LPCTSTR)name,0,REG_SZ,(BYTE*)data,(DWORD)strlen(data));
    assert(lret==ERROR_SUCCESS);
}
void Reg::getValue(char*name,char*value)
{
 long lret=RegQueryValueEx(hkey,(LPCTSTR)name,0,(LPDWORD)REG_SZ,(BYTE*)value,(LPDWORD)strlen(value));
    assert(lret==ERROR_SUCCESS);
}
void Reg::delValue(char*name)
{
 long lret=RegDeleteValue(hkey,(LPCTSTR)name);
    assert(lret==ERROR_SUCCESS);
}

   对注册表操作需要保证编译器处于管理员权限,否则无法正常执行注册表操作。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-07-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档