#include <iostream.h>
#include <Windows.h>
#pragma comment(lib, "advapi32.lib" )

int main(int argc, char *argv[])
{    
     HKEY hKey;                                    //要查询的键的句柄
     TCHAR *keyName;
     
     DWORD dwValue = 0;                            //键值对,存放对应的REG_DWORD值
     TCHAR szLocation[MAX_PATH] = {0};   //键值对,存放对应的REG_SZ   值
     
    DWORD dwSize = 0;
    DWORD dwType;                                    //要查询的键值的类型
    LPCTSTR studioPath = TEXT("System\\CurrentControlSet\\Control\\Print");    
    LONG ret;
    ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, studioPath, 0, KEY_READ | KEY_WRITE, &hKey);     //打开注册表

if (ERROR_SUCCESS == ret)
    {
        dwType = REG_DWORD;
        dwSize = sizeof(DWORD);
        keyName = TEXT("JIA_HOME");
        ret = RegQueryValueEx(hKey, keyName, 0,  &dwType, (PBYTE)&dwValue, &dwSize);            //查询 JIA_HOME 名称
        if (ERROR_SUCCESS == ret)
        {
            cout<<"keyName1查询结果:"<<dwValue<<endl;
        }
       
        dwType = REG_SZ;
        dwSize = sizeof(szLocation);                                                        
        keyName = TEXT("Read_REG_SZ");  
        ret = RegQueryValueEx(hKey, keyName, 0, &dwType, (PBYTE)&szLocation, &dwSize);            //查询 Read_REG_SZ 名称
        if (ERROR_SUCCESS == ret)
        {
            cout<<"keyName2查询结果:"<<szLocation<<endl;
        }
        
 
    
        //*************写REG_DWORD值 RpcAuthnLevelPrivacyEnabled***********************
        TCHAR *newKey = TEXT("RpcAuthnLevelPrivacyEnabled");              //要添加的键值的名称
        DWORD dwData = 0;                                                                            //要添加的键值
        ret = RegSetValueEx(hKey, newKey, 0, REG_DWORD, (LPBYTE)&dwData, sizeof(DWORD));        //设置
        if (ERROR_SUCCESS == ret)
            wprintf(L"RegSetValueEx returns %d\n", ret);
        //**********************************************************************************************
        
        //*******************************写REG_SZ值 Writenew_reg_sz_value*******************
        newKey = TEXT("Writenew_reg_sz_value");    
        TCHAR szValue[64] = TEXT("okokokok1000");
        ret = RegSetValueEx(hKey, newKey, 0, REG_SZ, (LPBYTE)szValue, 64);  //设置REG_SZ值
        if (ERROR_SUCCESS == ret)
            cout<<"RegSetValueEx returns "<<ret<<endl;    
        //**********************************************************************************************
        RegCloseKey(hKey);
    }          
    
    MessageBox(NULL,TEXT("测试成功!"),"MsgBox",MB_OKCANCEL|MB_SETFOREGROUND);
    return 0;
}

C/C++ 操作注册表相关推荐

  1. C#操作注册表全攻略

    相信每个人对注册表并不陌生,在运行里面输入"regedit"就可以打开注册表编辑器了.这东西对Windows系统来说可是比较重要的,也是病毒常常会光顾的地方,比如病毒和恶意软件常常 ...

  2. .NET操作注册表的封装类

    我写的一个在.NET下操作注册表的类. using System; using Microsoft.Win32; using System.Collections; namespace iUNS { ...

  3. 在Delphi程序中操作注册表

    32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操作注册表,要创建一个TRegistry对象: ...

  4. WinForm创建系统托盘以及操作注册表

    创建系统托盘菜单 1,创建一个contextMenu(cmnMain)菜单 2,添加一个NotifyIcon组件,设置ContextMenu属性为cmnMain 3,相应窗体改变事件(最小化等) pr ...

  5. Win64 驱动内核编程-6.内核里操作注册表

    内核里操作注册表 RING0 操作注册表和 RING3 的区别也不大,同样是"获得句柄->执行操作->关闭句柄"的模式,同样也只能使用内核 API 不能使用 WIN32 ...

  6. Win 驱动编程 - 内核里操作注册表

    一 概述 RING0 操作注册表和 RING3 的区别也不大,同样是"获得句柄->执行操作->关闭句柄"的模式,同样也只能使用内核 API 不能使用 WIN32API. ...

  7. 删除python的注册表_Python操作注册表详细步骤介绍

    Python操作注册表步骤之1.打开注册表 对注册表进行操作前,必须打开注册表.在Python中,可以使用以下两个函数:RegOpenKey和RegOpenKeyEx.其函数原型分别如下所示. Reg ...

  8. Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结

    Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结 1. 注册表是树形数据库 1 2. 注册表的由来 1 3. Java  操作注册表 2 3.1. 使用Preferences  ...

  9. C++ 读取windows服务列表 与操作注册表

    读取服务列表 https://www.cnblogs.com/Leo-Forest/archive/2013/05/03/3056569.html 操作注册表 https://blog.csdn.ne ...

  10. Python模块——_winreg操作注册表

    From: http://blog.sina.com.cn/s/blog_4b5039210100gmsb.html 用python操作修改windows注册表,显然要比用C或者C++简单. 主要参考 ...

最新文章

  1. classname帝国怎么用php调用,帝国cms怎么调用栏目别名
  2. 企业创新管理的八大误区
  3. VScode修改快捷键,快捷键恢复默认设置,添加或取消注释
  4. iOS推送:要支持戴口罩解锁了!以为是黑科技,原来是骗我买iWatch...
  5. Aspose.Words提示The document appears to be corrupted and cannot be loaded.
  6. (最优解)L1-028 判断素数 (10分)——17行代码AC
  7. C语言学习及应用笔记之七:C语言中的回调函数及使用方式
  8. 孙丕恕:应把云计算大数据融在一起 降低社会运营成本
  9. AOP五大通知注解详解
  10. 小米靠着“便宜”在手机市场中占有一席之地
  11. Delphi JSON总结
  12. 硬件WAF的制作!linux系统制作硬件WAF,实现透明代理,具备断电、故障Bypass功能。...
  13. Thinkpad X230 黑苹果macOS 10.14 和10. 15驱动AR9285网卡
  14. 许愿墙 php源码,许愿网许愿墙 v1 共享版
  15. 实现三级导航demo
  16. 在线IDE- Gitpod介绍
  17. [集合下载]邵式经典不完全收录 141部[59G]
  18. 防骗指南-披着交友恋爱的外衣,诱骗受害者赌博转钱
  19. 《钟馗伏魔:雪妖魔灵》另类解读
  20. 【pwnable.kr】leg

热门文章

  1. 【企业】质量管理:8 项原则
  2. 迪赛智慧数——柱状图(折柱混合图):2021年毕业季租房价格和房租收入比
  3. C#常用设计模式(Unity)——游戏场景的转换——状态模式(State)
  4. ncnn Mat矩阵类
  5. 2014年开年计划 - 不积跬步无以至千里
  6. MyBatis动态代理原理
  7. redis java实现秒杀
  8. PTA 7-33 空心字母金字塔(StringBuilder应用实例)
  9. 【单片机开发之旅】工程师必备!十本最值得读的Arduino书籍
  10. oracle ebs mom,制造运营管理MOM 云之佳-SRM-NetSuite-制造运营管理MOM-WMS-MES-SAP-两化融合管理体系贯标-IT诊断与规划-QMS-EAM...