【WIN32】【C/C++】枚举 注册表子项

windows函数之注册表函数 比较详细的windows操作系统中的注册表操作函数集合。 阅读详情

Win32 枚举 注册表子项


调用RegEnumValue获取注册表某一路径下的所有键值。

在这里插入图片描述

/********************************************************************************
 *
 *        All rights reserved
 *
 *        filename		: RegEnumValue
 *        description	:
 *
 *        created by  mingming on Aug. 13th, 2021
 *
 ********************************************************************************/
#include <Windows.h>
#include <iostream>

int main(int argc, TCHAR* argv[])
{
	HKEY hKey;
	LPCTSTR lpSubKey = L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";

	DWORD samDesire = KEY_READ | KEY_WOW64_64KEY; //KEY_READ | KEY_WOW64_32KEY   HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

	if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpSubKey, 0, samDesire, &hKey) != ERROR_SUCCESS)
	{
		return 1;
	}

	TCHAR szValueName[MAX_PATH] = { 0 };
	BYTE szKeyName[MAX_PATH] = { 0 };
	LONG lStatus;
	DWORD dwIndex = 0;
	DWORD dwSizeValueName = MAX_PATH;
	DWORD dwSizeofKeyName = MAX_PATH;
	DWORD dwType;

	dwSizeValueName = MAX_PATH;
	dwSizeofKeyName = MAX_PATH;
	do
	{
		lStatus = RegEnumValue(hKey, dwIndex++, szValueName, &dwSizeValueName,
			NULL, &dwType, szKeyName, &dwSizeofKeyName);
		if (lStatus == ERROR_SUCCESS)
		{
			wprintf(L"Key Name = %s\n", (wchar_t *)szValueName);

		}

		dwSizeValueName = MAX_PATH;
		dwSizeofKeyName = MAX_PATH;

	} while (lStatus != ERROR_NO_MORE_ITEMS);

	RegCloseKey(hKey);

	system("pause");

	return 0;
}

在这里插入图片描述

Windows C盘清理手术刀:精准可控可逆的系统级清理工具 Windows系统盘清理不是简单的文件删除,而是涉及文件锁定、硬链接、事务安全等底层机制的高风险操作。理解Temp目录生存期管理、Windows日志归档策略与SoftwareDistribution缓存生命周期,是实现安全减负的前提。Csimplecleaner以Win32原生API为基础,通过进程句柄检测、SQLite数据库解析和7z高压缩归档等技术,提供精准、可控、可逆的清理能力,适用于IT运维、开发者及追求系统稳定性的进阶用户。 阅读详情

相关推荐

VC++实战Windows Shell编程:从COM接口到自定义右键菜单与属性页开发

Windows Shell是操作系统的核心用户界面层,其底层基于COM(组件对象模型)架构,通过定义标准接口实现高度可扩展性。理解COM原理是深入Shell编程的关键,它允许开发者通过实现特定接口(如IShellExtInit、IContextMenu)来创建可被资源管理器加载和调用的组件。这项技术的核心价值在于能够深度定制和扩展Windows用户体验,例如为特定文件类型添加上下文菜单或属性页。在工程实践中,使用Visual C++配合ATL(Active Template Library)是开发Shell

weixin_33721427的博客 402

Windows注册表REG_QWORD与REG_BINARY数据类型读取与解析实战指南

在Windows系统管理与软件开发中,注册表作为核心配置数据库,存储着系统与应用的关键信息。其数据类型多样,其中REG_QWORD(64位整数)和REG_BINARY(原始字节数组)是处理底层配置、硬件状态、加密数据及性能计数器信息时常见但易被误读的类型。理解其存储原理(如小端字节序)与正确读取方法,是进行系统故障排查、软件逆向与深度系统集成开发的基础技术能力。通过PowerShell、C#等工具,结合BitConverter与Encoding类库,可以高效地将这些二进制数据转换为程序可用的数值或字符串格式

weixin_30889885的博客 395

VC++桌面应用自动更新模块设计:独立进程架构与安全文件替换实践

在桌面应用开发中,自动更新是提升软件可维护性和用户体验的核心功能。其基本原理是通过网络检测新版本并下载替换本地文件,技术价值在于实现软件的无缝升级与问题修复。在工程实践中,采用独立更新器进程的架构能有效解耦主程序业务逻辑,避免因更新失败导致的主程序崩溃。通过WinINet/WinHTTP实现可靠的文件下载,结合文件哈希校验保障完整性,并运用原子性文件替换策略处理进程占用与回滚机制,可构建健壮的更新流程。这一方案尤其适用于VC++等原生开发场景,为桌面应用提供了稳定、安全的自动化部署能力。

weixin_34417183的博客 505

RegEnumValue的使用方法

DWORD wStrSize = 512; CString strValue; TCHAR *wStr = new TCHAR[wStrSize]; DWORD dwCountOfSubKey; DWORD dwCountOfValue; DWORD dwType; LONG lResult; CRegKey regKey; regKey.Open(HKEY_CURRENT_US

feidegengao的专栏 1万+

【C++】POCO学习总结(六):线程、线程池、同步

Poco::RunnableAdapter继承自Poco::Runnable,在Poco::RunnableAdapter构造函数中指定了类和方法;Poco::ThreadLocal是线程局部变量,也叫线程局部存储,意思是模版ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。

郭老二 5098

瑞萨单片机-硬件I2C从设备

瑞萨单片机上实现I2C从机,根据主机发来的数据,从机返回或者保存数据2、R5F1115AxFL最多支持3个从设备地址(即可以作为三个从设备)3、从接收模式:直接将数据保存到RAM中,接收完再处理4、从发送模式:按照I2C读取传感器数据经验,主机读取从设备时,从设备需要立刻返回数据的,但是程序要如何实现一收到指令就返回特定的数据?(时钟拉伸)这里先跳过,我们先实现返回固定的数据。

qq_27893147的博客 3220

RegEnumValue读取注册表不完整问题

问题描述:在用RegEnumValue枚举串口资源时,注册表中有多个串口,但是RegEnumValue在读取时,只能读取其中一部分,不能完全枚举所有串口。 原因及解决办法: Status=RegEnumValue(hKey,dwIndex++,Name,&dwName,NULL,&Type,szPortName,&dwSizeofPortName); 在每次读取后,dwName和dwSi

qyl_qiyalu的博客 4214

Ubuntu中snap简单介绍

通过Snap可以安装众多的软件包。需要注意的是,snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间 介绍一些常用命令,有点类似docker 1、查看已经通过snap安装的snap包 snap list可以查看 2、可以搜索想要的snap包,例如tomcat snap search tomcat

icanflying的博客 4万+

C++注册表操作

1. 基础知识 注册表的组织方式跟文件目录比较相似,主要分为根键、子键和键值项三部分, 1.1 根键 分为5个,分别为: HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG 1.2 子键 可以有多个子键和键值项,就像一个目录中可以有多个子目录和多个文件一样。 1.3 键值项 可以理解为......

sinat_41752325的博客 5232

从零开始:使用PacBio HiFi和ONT超长读取组装基因组(保姆级教程)

本文提供了一份从零开始的基因组组装保姆级教程,详细讲解了如何融合PacBio HiFi高精度读长与ONT超长读长数据。内容涵盖数据质控、预处理、混合组装策略选择、结果评估及Hi-C支架构建等关键步骤,旨在帮助研究人员获得高质量的完整基因组。

weixin_29266647的博客 203

sas协议(SAS PL-3)之Zoning功能

1 Zoning overview SAS zoning is implemented by a set of zoning expander devices with zoning enabled that define a zoned portion of a service delivery subsystem (ZPSDS)服务子系统. The zoning expander devices control whether a phy is permitted to participate in

sinat_37817094的博客 1530

RegOpenKeyEx | RegEnumValue | RegDeleteValue - WINDOWS API 第四弹有关注册表的内容,以删除注册表内容为例。

RegOpenKeyEx | RegEnumValue | RegDeleteValue - WINDOWS API 第四弹有关注册表的内容,以删除注册表内容为例。 我们在windows上的应用在安装时一般都会写入注册表点信息,这些信息的形式和内容、目的都不同。一般注册表上的内容用户极少去动,所以把应用策略信息存在注册表上相对安全。操作注册表也是开发windows程序的必备技能。

Bobowen的博客 811

35、使用 Geo 创建 GitLab 的分布式只读副本

本文详细介绍了如何使用GitLab Geo功能创建分布式只读副本,涵盖数据库主从配置、SSH密钥查找方式更改、通过Web UI添加从节点、激活哈希存储及状态检查等关键步骤。同时提供了常见问题解答和配置流程图,帮助用户快速部署并维护Geo集群,实现跨地域的高效数据同步与高可用架构。

chair的专栏 80

【WIN32】【C/C++】枚举注册表子项及其值

调用Win32 API枚举注册表子项及其值

此地无银 525

GEE APP:时间序列影像批处理工具:按月筛选与智能导出解决方案出工具

本文介绍了一个基于Google Earth Engine(GEE)开发的智能时序影像处理工具,可高效处理遥感影像时间序列数据。该工具采用三栏式交互布局,包含控制面板、地图显示和缩略图预览区域。核心功能包括:1)灵活的时间筛选机制,支持年度范围选择和月份批量选择;2)智能影像筛选算法,基于云量、空间覆盖等条件自动选择最佳影像;3)交互式缩略图预览,支持点击加载完整影像;4)自动化批量导出系统,实现标准化命名和统一存储。工具可广泛应用于农业监测、城市扩张研究、生态环境评估等领域,显著提高遥感数据预处理效率,确保

此星光明博客 113

一台NAS两个系统:飞牛nas上完美运行群晖DSM?(飞牛nas+群晖nas套娃安装实操)

想在飞牛NAS上体验群晖DSM系统?💡 本文详细记录了飞牛nas上部署群晖的完整过程,从镜像转换到系统安装,每一步都有详细说明 🖥️,让你在不增加硬件成本的情况下,轻松实现一套硬件、多种系统的灵活部署 ✅

XiaoqiangClub的博客 2370

Happy Registry: A quick wrapper for the Win32 database(译文)

Happy Registry: A quick wrapper for the Win32 database (Happy Registry:快速Win32注册表封装类) 作者:Michael Chourdakis 翻译:Sam  Tan 原文地址:http://www.codeproject.com/Articles/1040618/Happy-Registry-A-qu

hckMe的专栏 712

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

监听以太网(一) Packet32包说明

简述   监听网络上的所有数据,是一个比较有趣的题目。流传比较广的一些监听程序,它们都使用了一个更加著名的开发包Packet32。比如,ntsniff、EthernetSpy、ntpacket等,还有赫赫有名的WinPcap。应用程序通过它可以设置网卡的工作模式,直接在网卡上读写数据,等等。 一般使用的Packet32的实现版本,是微软的Packet32.c和Packet32.h。这个版本写得比较

zy122的专栏 2533

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Packet32.dll说明。

   WinPcap is an architecture for packet capture and network analysis for the Win32 platforms. It includes a kernel-level packet filter, a low-level dynamic link library (packet.dll), and a high-level

zskcy的专栏 3574

OpenClaw Windows 11一键部署:小白也能跑通的本地智能体框架

智能体(Agent)是当前AI工程化落地的核心范式,指能自主规划、调用工具、维护上下文并完成多步任务的程序单元。其底层依赖模型推理、工具集成与流程编排三大能力,技术价值在于降低大模型应用门槛,实现从‘单次问答’到‘自动化工作流’的跃迁。典型应用场景包括合同条款提取、邮件批量分析、Excel自动汇总等轻量级RPA任务。OpenClaw正是一款专注Windows平台的轻量级智能体调度框架,通过标准化Skill插件接口解耦模型与工具,并深度适配Windows 11原生特性——如DirectML GPU加速、WSL

weixin_34152820的博客 692

RegEnumValueW返回值234,什么情况?

最近不少反馈说字体少了,于是排查了一下,居然是注册表查询的时候丢弃了,问题就出在RegEnumValueW这个函数上。 经过一番debug,查到RegEnumValueW返回值为234,然后无法获取键值的字符串。查询了一下,在winerror.h有记录。 所以只能改改代码,对返回值进行处理。 下面是完整的读注册表操作: LONG result; DWORD maxValue...

随风动,心飞翔 1404

RegEnumValue读取键值需要注意的地方

参考代码如下:for (DWORD j = 0;j < cValue;j++){ RegEnumValue(hKey,j,szSubValueName,&cbSubValueName,0,NULL,szSubValueDate,&cbSubValueDate); _tprintf(L"%ws:/n%ws/n",szSubValueName,szSubValueDate

starmate的专栏 1000

C/C++ 实现Windows注册表操作

Windows注册表(Registry)是Windows操作系统中用于存储系统配置信息、用户设置和应用程序数据的一个集中式数据库。它是一个层次结构的数据库,由键(Key)和值(Value)组成,这些键和值被用于存储各种系统和应用程序的配置信息。

微软技术分享 1万+

Windows注册表的读写操作

本文介绍了Windows注册表的基本知识,以及C++中打开\关闭\查询\修改注册表的常用接口。

_Santiago的博客 3313

注册表编程扫盲(三)

三。RegQueryValueEx和RegEnumValue    以上都是在说如何写注册表,不过很多情况下都要读注册表的。啊,来看一下有哪几个API,1,2,...怎么又这么多?算了,就说两个吧,应该够用了的。还是先说一下RegQueryValueEx吧,这回看不出什么意思了,Query是什么意思呢?别急,我先查一下字典,Query,Query,查到了,字典说是"怀疑"的意思,好象解释不通啊。唉

0ffs3t 1465
上一篇: Qt[每日一言|每日诗词]API调用
下一篇: 【WIN32】【C/C++】枚举注册表子项及其值
欧恩意
博客等级 码龄7年 677粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧恩意

如有帮助,感谢打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值