QT与注册表
来源:互联网 发布:手机淘宝代购怎么做 编辑:程序博客网 时间:2024/05/16 01:09
http://tcspecial.iteye.com/blog/1846518
QT4.4.3下settings读写文件时,无法读取中文,也无法写入中文,真是弱爆了. 没想到处理注册表,功能到是很强大.
一.读写注册表
- // 遍历[HKEY_CLASSES_ROOT\\.dsw]下所有的键值
- QSettings *settings=new QSettings("HKEY_CLASSES_ROOT\\.dsw",QSettings::NativeFormat);
- foreach(QString str,settings->childKeys())
- {
- QString value=settings->value(str).toString();
- qDebug("%s --- %s",str.toLocal8Bit().data(),value.toLocal8Bit().data());
- }
通过遍历发现,QT对于.dsw默认值的处理,其key指定为".", 而在C#里面,默认值key为一空字符串,获取 rk.GetValue("").ToString()
二. 添加子项
- QSettings settings("HKEY_CLASSES_ROOT\\.dsp",QSettings::NativeFormat);
- settings.setValue("hello","world"); // 在.dsp项上添加key为hello,值为world的项
- settings.setValue("hello/.","world"); // 在.dsp下添加一个hello的子节点,并设置其默认值为world
三. 文件添加鼠标右键
对于一些特定的文件,我们可以直接将工具添加至鼠标右键,这样可以通过右键选择该工具打开即可,方便管理该文件.可以通过修改注册表来完成,下面以.dsp文件为例,添加新菜单项
1. VC6下.dsp默认值为dspfile,如果安装vs10之类的版本,会修改dsp在注册表中的默认设置
[HKEY_CLASSES_ROOT\.dsp],指定默认值dspfile,然后查找dspfile的项
[HKEY_CLASSES_ROOT\dspfile\shell],建立与Open With MSDEV同级的项,设置 [HKEY_CLASSES_ROOT\dspfile\shell\Build pro file\command]的值为: "c:\tool\dsptopro.exe" "%1"
注意,文件路径一定要用\,不能指定/,否则出错,%1表示程序需要的命令参数,即当前dsp文件路径名
效果:
0 0
- QT与注册表
- Qt 类QSettings,读取ini与注册表
- Qt 注册表
- Qt 注册表
- QT 修改注册表
- qt注册表关联文件格式
- 锁定注册表与注册表解锁
- Qt-QSetting(ini文件、注册表)
- qt注册表、ini文件操作
- Qt操作windows注册表例程
- QT 读取和写入注册表
- 什么是注册表与注册表的作用
- 什么是注册表与注册表的作用
- 注册表加锁与解锁
- asp与注册表
- 注册表与安全
- 注册表与USB口
- VB 与 注册表
- 【Android自动化测试之Robotium】04. 命令行运行Android Robotium自动化用例或单元测试用例
- 二维码的生成细节和原理
- git内部实现:分支
- Linux的cut命令
- 素数环
- QT与注册表
- 怎样让自我评价变成简历最出彩的地方?
- 使用ngx_lua发送文件给服务器
- A4大小,打印时不打控件
- cordova 创建空白项目,并安装gulp
- Android客户端每周自动化回归报告
- Redmine项目管理
- 获得由ControlTemplate或DataTemplate生成的控件的内部控件
- 找找2