搞了一天,翻了也不知道多少遍msdn,终于看懂了几个函数。

RegOpenKeyEx   打开注册表,并获取键值 填充HKEY

RegEnumKeyEx   枚举某个目录下所有子建,并填充HKEY

RegOpenKeyEx   获取某个键的值,

RegSetValueEx 设置某个键的值

附上自己搞了一天的程序:

没有注释,呵呵,自己看看,查下msdn就可以理解了

Code
// regeditvalue.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <windows.h>
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    HKEY m_key,m_key2;
    WCHAR m_name[200]={0},uninstall[200]={0};
    DWORD m_namelen=200;
    DWORD mIndex=0,mCount=0;
    WCHAR m_KeyName[200]={0};
    DWORD m_KeyNamelen=200;
    DWORD m_attr=REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_NONE|REG_SZ;
    WCHAR m_SubKey[255]=L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
    //long erl=::RegOpenKeyEx(HKEY_CURRENT_USER,(LPCWSTR)m_SubKey,0,KEY_ALL_ACCESS,&m_key);
    /*if(RegOpenKeyEx(HKEY_CURRENT_USER,(LPCWSTR)"Software\\Zeal SoftStudio\\AskPro FTP\\LastTime",0, KEY_ALL_ACCESS, &m_key)==ERROR_SUCCESS)
    {

}*/

//DWORD m_Error=::GetLastError();
    //cout<<erl<<endl;
    //cout<<m_Error;

if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,m_SubKey,0,KEY_ALL_ACCESS,&m_key)==ERROR_SUCCESS)
    {
        while(RegEnumKeyEx(m_key,mIndex,m_name,&m_namelen,0,NULL,NULL,0)!=ERROR_NO_MORE_ITEMS)
        {
            mIndex++;
            wcscpy(uninstall,m_SubKey);
            //strcpy(uninstall,m_SubKey); 
            //strcat(uninstall,"\\"); 
            wcscat(uninstall,L"\\");
            //strcat(uninstall,m_name);
            wcscat(uninstall,m_name);
            if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,uninstall,0,KEY_ALL_ACCESS,&m_key2)==ERROR_SUCCESS)
            {
                RegQueryValueEx(m_key2,L"DisplayName",0,&m_attr,LPBYTE(m_KeyName),&m_KeyNamelen);
                wcout<<m_KeyName<<endl;
                mCount++;
            }
            RegCloseKey(m_key2);
            memset(m_KeyName,0,200);
        }
    }
    RegCloseKey(m_key);
    return 0;
}

转载于:https://www.cnblogs.com/baiye/archive/2009/07/10/1520388.html

学习c++一点一滴----读取注册表相关推荐

  1. java读取注册表_Java通过CMD方式读取注册表任意键值对代码实践

    需要读取如图所示注册表[HKEY_LOCAL_MACHINE\SOFTWARE\EasyDrv7]节点下的[DateTime]的值 直接上代码: package com.beibei.common.u ...

  2. qsettings删除注册表_Qt QSettings读取注册表和ini | 学步园

    1.读取注册表,以读取已经安装的软件为例. 已经安装的软件信息的注册表位置: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ ...

  3. c 语言读取注册表信息,C++读取注册表的实现方法

    C++读取注册表 GetRegValue.h: #ifndef __GETREGVALUE_H__ #define __GETREGVALUE_H__ #include //------------- ...

  4. 使用扩展存储过程xp_regread读取注册表信息

    T-SQL使用扩展存储过程[master].[dbo].[xp_regread]读取注册表信息. 如下注册表: Insus.NET为了做演示,写了一个用户自定义函数[dbo].[GetServerLo ...

  5. php 读取注册表 不用wscript.shell,WebShell的检测技术_91Ri.org

    一.Webshell 的常见植入方法 -启明星辰  Leylo Trent WebShell 攻击是常见的用来控制Web 服务器的攻击方法,WebShell 文件通常是可执行的脚本文件,例如asp, ...

  6. JAVA读取注册表中的值

    需求:java动态读取注册表来调用第三方应用程序(如:qq.微信.网易云音乐等)启动,为什么说动态呢,因为使用绝对路径,每个人的电脑安装的路径并不一定相同,但注册表中的路径一般都相同,所以只要获取注册 ...

  7. 求助:Windows Service 读取注册表键值

    最近项目需要程序监控记录用户使用和打开的文件,于是做了一个使用Windows Service监控Recent文件夹中文件增加和更改的程序, 但是需要在服务程序确定Recent文件夹的路径,使用Regi ...

  8. 读取注册表REG_DWORD类型的键值

    读取注册表REG_DWORD类型的键值: DWORD dwRet = 0;  HKEY hKey;  if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SYSTEM// ...

  9. js读取注册表的键值

    try { var shell = new ActiveXObject("WScript.Shell"); --读取注册表 var  key  = shell.RegRead(&q ...

最新文章

  1. 经典控制~系统的极点
  2. 常考数据结构与算法:子数组中的最大累加和问题
  3. Python基于socket实现的TCP客户端
  4. [SinGuLaRiTy] KM算法
  5. 另一种同步软件Unison的使用方法
  6. 网站跳出率的相关要点介绍
  7. 前端学习(3330):闭包的形式6
  8. 前端学习(95):ps基本操作与图片格式
  9. hasset java_java HashSet的使用
  10. 【算法导论33】跳跃表(Skip list)原理与java实现
  11. 太赞了!终于有人把怎么在IDEA中使用Java热部署插件JRebel讲清楚了...
  12. 第 4 周 关于 startActivityForResult
  13. Java库转oc,(java转行oc)什么是block,用java来解释oc中的block
  14. Oracle 建表语句,表结构操作sql
  15. 神经网络井字棋AI对战版的开发与测试
  16. 移动vue大转盘抽奖
  17. 海康威视SDK控制台程序consoleDemo获取视频通道参数
  18. Figma#5:文字
  19. 咨询案例:再来几种利益相关人地图
  20. 利用腾讯会议开展远程面试的解决方案

热门文章

  1. ORA-22859 无效的列修改
  2. unity3d php js,【Unity开发】unity3d中的http通信?post/get
  3. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(8)签到题5题
  4. 【职业】大一规划、体验生活、故事里
  5. 【搞事】HTTP文件传输服务器搭建|网站文件分享|HFSxCHFS用法
  6. linux向用户发送消息,Linux终端中向记录的用户发送消息
  7. pair用法 lower_bound upper_bound
  8. [leetcode]5170. 验证二叉树
  9. 猜数游戏--MOOC中习题
  10. Git和SourcesTree的安装