目的:需要获取注册表键值,内容是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。

根据它的值,再拼接出新的注册表路径获取别的注册表键值。

获取注册表键值并格式转换相关推荐

  1. Inno setup 访问注册表键值,获取软件安装路径

    ; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其 ...

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

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

  3. 控制Open With菜单项的注册表键值

    当右键单击一个文件的时候, 你会发现有一个菜单项叫做Open With. 为了说明问题, 我们在这里使用.xyz文件类型, xyzfile作为.xyz文件的ProgID. 某种文件的Open With ...

  4. VC删除注册表键值项

    2019独角兽企业重金招聘Python工程师标准>>> VC删除注册表键值项. HKEY hkResult; HKEY hKey=NULL; TCHAR lpFilename[MAX ...

  5. 注册表键值明明存在OpenSubKey始终返回null,解决方案

    注册表键值明明存在OpenSubKey始终返回null,解决方案 参考文章: (1)注册表键值明明存在OpenSubKey始终返回null,解决方案 (2)https://www.cnblogs.co ...

  6. R tidyverse包结合excel进行数据框的横向、纵向及“键值对”格式转换

    概念定义 翻看网络上诸多有关进行数据库横纵向转换.或长宽转换的博文,发现大家对于"横向"与"纵向"的数据库的定义并不完全相同,经过学习与摸索,所幸达到了我原本期 ...

  7. 注册表键值的导出与导入

    其实就是用了Delphi的TRegistry类中两个函数,一个是SaveKey,一个是LoadKey.这两个函数在使用之前要取得SE_BAKCUP_NAME权限,而就是因为LookupPrivileg ...

  8. bat添加修改注册表键值 批处理修改注册表项

    1. 创建REG文件 REG文件的创建过程非常简单,可以通过任何一个文本文件编辑工具来实现.创建前记得先去掉"文件夹选项"中的"隐藏已知文件类型的扩展名"子项, ...

  9. 自制Windows 7 注册表键值修改服务(Service)

    首先说说为什么要写这么一个服务.由于电脑要在公司域中使用,所以不可避免的会继承域中的组策略配置.域中95% 的计算机是XP系统,部分组策略对于Windows 7 系统来说有些多余而且带来很多麻烦. 问 ...

  10. 一个wxWidgets判断注册表键值的函数

    项目中需要用wxWidgets对注册表的键值进行读取. 使用wxRegKey的QueryValue方法读取相应键值时,例如以下代码. 如果regdelay键值不存在会抛出一个异常.那么对用户来说体验很 ...

最新文章

  1. 5大典型模型测试单机训练速度超对标框架,飞桨如何做到?
  2. django(权限、认证)系统—— 基于Authentication backends定制
  3. numpy.core.umath failed to import 如何解决
  4. 2、python机器学习基础教程——K近邻算法鸢尾花分类
  5. 如何导入hadoop源码到eclipse
  6. Java异常处理课后作业
  7. 在外面旅游,手机用电怎么解决?
  8. 基于vue-cli的webpack配置优化
  9. 雪花算法生成数字id_全局唯一iD的生成 雪花算法详解及其他用法
  10. webservice 参数太大_webservice大数据
  11. LCD1602显示程序理解
  12. SwiftyJSON解析本地JSON文件
  13. 洛谷P1873 [COCI 2011/2012 #5] EKO / 砍树(二分法)
  14. 精品Linux应用分享推荐
  15. LattePanda 外壳 HOTe-LPA 铝合金外壳
  16. EasyExcel使用教程
  17. 忘了什么,都请别忘了音乐
  18. MaxScript学习 |展UV
  19. 第31届南京地区研究生通信年会录用论文集
  20. 408数据结构综合题

热门文章

  1. 无盘服务器 免费,免费无广告的网咖专用云无盘安装图文教程
  2. 荒野大镖客ol 服务器位置,荒野大镖客OL盗贼据点分布位置
  3. Zemax学习笔记(5)- 设计单透镜实例_2,分析
  4. SpringSecurity+SpringSocial 实现QQ登入(一)
  5. 在走迷宫任务中实现强化学习(持续更新中)——第二课:移动体的路径规划(小川雄太郎《边做边学深度强化学习》项目复刻)
  6. 【独立游戏】如何完成一款游戏? | 独立游戏制作
  7. response下载zip文件
  8. 推荐→可以做时间线图片的APP
  9. matlab串口实时画图,基于MATLABGUI界面的MCU串口实时绘图设计
  10. java围棋毕业设计,基于Java的围棋游戏的设计与实现.docx