获取注册表键值并格式转换
目的:需要获取注册表键值,内容是GUID,类型是REG_SZ,
然后再将这个GUID与另一个地址拼成一个新的注册表路径,RegOpenKeyW的路径格式要求为LPCSTR。
这里把获取到的GUID用TCHAR格式存储。
HRESULT GetGUIDReg(TCHAR GUID[])
{HRESULT hr = E_FAIL;HKEY hKey = NULL;hr = RegOpenKey(HKEY_LOCAL_MACHINE, /*注册表的路径*/, &hKey);GOTO_IF_FAILED(hr);DWORD nRequiredSize = 0;hr = ::RegQueryValueEx(hKey, /*注册表名*/, NULL, NULL, NULL, &nRequiredSize);GOTO_IF_FAILED(hr);// Read dataDWORD dwType = REG_SZ;hr = ::RegQueryValueEx(hKey, /*注册表名*/, NULL, &dwType,(LPBYTE)GUID, &nRequiredSize);GOTO_IF_FAILED(hr);
Exit:RegCloseKey(hKey);return hr;
}
使用时,参数是传入传出的。调用时先定义 一个vector:
vector<TCHAR> GUID;
hr=GetGUIDReg(GUID);
格式转换之前,先定义一个basic_string
typedef basic_string<TCHAR> GUIDString;
//使用:
GUIDString strSetting(GUID.begin(),GUID.end());
TCHAR newPath[260]={0};
_tcscat_s(newPath,/*之前的注册表路径*/);//格式转换
_tcscat_s(newPath,_T("\\"));
_tcscat_s(newPath,strSetting.c_str());
_tcscat_s(newPath,_T("\\"));
_tcscat_s(newPath,/*新的注册表名*/);//格式转换完成后,用同样的方法,将newPath做为新路径,获取新的注册表键值
实际应用:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes
这个是用于存储当前的电源计划的,值是GUID。
根据它的值,再拼接出新的注册表路径获取别的注册表键值。
获取注册表键值并格式转换相关推荐
- Inno setup 访问注册表键值,获取软件安装路径
; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其 ...
- 求助:Windows Service 读取注册表键值
最近项目需要程序监控记录用户使用和打开的文件,于是做了一个使用Windows Service监控Recent文件夹中文件增加和更改的程序, 但是需要在服务程序确定Recent文件夹的路径,使用Regi ...
- 控制Open With菜单项的注册表键值
当右键单击一个文件的时候, 你会发现有一个菜单项叫做Open With. 为了说明问题, 我们在这里使用.xyz文件类型, xyzfile作为.xyz文件的ProgID. 某种文件的Open With ...
- VC删除注册表键值项
2019独角兽企业重金招聘Python工程师标准>>> VC删除注册表键值项. HKEY hkResult; HKEY hKey=NULL; TCHAR lpFilename[MAX ...
- 注册表键值明明存在OpenSubKey始终返回null,解决方案
注册表键值明明存在OpenSubKey始终返回null,解决方案 参考文章: (1)注册表键值明明存在OpenSubKey始终返回null,解决方案 (2)https://www.cnblogs.co ...
- R tidyverse包结合excel进行数据框的横向、纵向及“键值对”格式转换
概念定义 翻看网络上诸多有关进行数据库横纵向转换.或长宽转换的博文,发现大家对于"横向"与"纵向"的数据库的定义并不完全相同,经过学习与摸索,所幸达到了我原本期 ...
- 注册表键值的导出与导入
其实就是用了Delphi的TRegistry类中两个函数,一个是SaveKey,一个是LoadKey.这两个函数在使用之前要取得SE_BAKCUP_NAME权限,而就是因为LookupPrivileg ...
- bat添加修改注册表键值 批处理修改注册表项
1. 创建REG文件 REG文件的创建过程非常简单,可以通过任何一个文本文件编辑工具来实现.创建前记得先去掉"文件夹选项"中的"隐藏已知文件类型的扩展名"子项, ...
- 自制Windows 7 注册表键值修改服务(Service)
首先说说为什么要写这么一个服务.由于电脑要在公司域中使用,所以不可避免的会继承域中的组策略配置.域中95% 的计算机是XP系统,部分组策略对于Windows 7 系统来说有些多余而且带来很多麻烦. 问 ...
- 一个wxWidgets判断注册表键值的函数
项目中需要用wxWidgets对注册表的键值进行读取. 使用wxRegKey的QueryValue方法读取相应键值时,例如以下代码. 如果regdelay键值不存在会抛出一个异常.那么对用户来说体验很 ...
最新文章
- 5大典型模型测试单机训练速度超对标框架,飞桨如何做到?
- django(权限、认证)系统—— 基于Authentication backends定制
- numpy.core.umath failed to import 如何解决
- 2、python机器学习基础教程——K近邻算法鸢尾花分类
- 如何导入hadoop源码到eclipse
- Java异常处理课后作业
- 在外面旅游,手机用电怎么解决?
- 基于vue-cli的webpack配置优化
- 雪花算法生成数字id_全局唯一iD的生成 雪花算法详解及其他用法
- webservice 参数太大_webservice大数据
- LCD1602显示程序理解
- SwiftyJSON解析本地JSON文件
- 洛谷P1873 [COCI 2011/2012 #5] EKO / 砍树(二分法)
- 精品Linux应用分享推荐
- LattePanda 外壳 HOTe-LPA 铝合金外壳
- EasyExcel使用教程
- 忘了什么,都请别忘了音乐
- MaxScript学习 |展UV
- 第31届南京地区研究生通信年会录用论文集
- 408数据结构综合题
热门文章
- 无盘服务器 免费,免费无广告的网咖专用云无盘安装图文教程
- 荒野大镖客ol 服务器位置,荒野大镖客OL盗贼据点分布位置
- Zemax学习笔记(5)- 设计单透镜实例_2,分析
- SpringSecurity+SpringSocial 实现QQ登入(一)
- 在走迷宫任务中实现强化学习(持续更新中)——第二课:移动体的路径规划(小川雄太郎《边做边学深度强化学习》项目复刻)
- 【独立游戏】如何完成一款游戏? | 独立游戏制作
- response下载zip文件
- 推荐→可以做时间线图片的APP
- matlab串口实时画图,基于MATLABGUI界面的MCU串口实时绘图设计
- java围棋毕业设计,基于Java的围棋游戏的设计与实现.docx