在windows下开发程序,有的时候就会要用到注册表操作。注册表就像一个系统的配置文件,供所有运行在系统中的程序使用。本文将介绍在Qt框架下操作注册表和通过win API操作注册表。
一、 Qt下操作注册表
- Qt下有操作配置文件和注册表的类QSettings,通过一个枚举表示操作的是注册表还是配置文件。
1 | QSettings::NativeFormat 0 |
- 操作示例
1 | QSetting *settings = new QSettings("注册表路径", QSettings::NativeFormat); |
- 问题
value 可以是字符串,DWORD 但是QSettings无法写入binary, 此时可以通过win API进行binary值的写入
二、 通过win API操作注册表
- 打开注册表
1 | ERROR_SUCCESS == RegOpenKeyEx(HKEY_LOCAL_MACHINE, subKey, 0, KEY_ALL_ACCESS, &key) |
- 写入binary到注册表
1 | HKEY key; |
- 关闭注册表
1 | ::RegCloseKey(key); |