Windows注册表操作基础代码

Windows注册表操作基础代码

 

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

复制代码
#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);
}
复制代码

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

 

posted @   Florian  阅读(2129)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示