`
tcspecial
  • 浏览: 906560 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

QT与注册表

    博客分类:
  • QT
阅读更多

     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文件路径名

    效果:

    右键效果

   

    

   

  • 大小: 10.7 KB
分享到:
评论

相关推荐

    QT读写注册表

    在Windows上,QSettings会与注册表交互;而在其他平台上,如Unix或Linux,它则会使用.ini文件。 在"QT读写注册表"的示例中,我们首先会创建一个QSettings对象,指定应用程序的公司名和应用名,这将作为在注册表中的...

    Qt读取注册表中内容

    在Windows操作系统中,注册表是一个重要的数据库,存储了系统和应用程序的各种配置信息。Qt作为一个跨平台的C++库...通过熟练掌握这些知识,开发者可以充分利用Qt的便利性,安全有效地处理与Windows注册表相关的任务。

    QT读取注册表总结

    QT读取注册表总结,很实用的教程和用例,大家可以参考

    Qt:Windows编程—Qt实现注册表启动项管理 示例代码

    在本文中,我们将深入探讨如何使用Qt库在Windows操作系统中进行编程,特别是关于管理注册表启动项的部分。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动和嵌入式设备。通过Qt,我们可以轻松地编写出高效...

    Qt读写注册表例子源代码

    一个简单的例子 教大家学习如何利用QT自带的类来修改注册表

    qt注册表相关的东西

    ### Qt中的QSettings模块详解:操作注册表与INI文件 #### 概述 在Qt库中,`QSettings`类提供了方便的接口来处理应用程序设置,包括读取和写入注册表以及INI文件等。这对于存储用户的配置信息、偏好设置等非常有用...

    Qt扫描注册表,获取硬件设备信息

    本篇将重点讲解如何利用Qt进行注册表扫描,以获取硬件设备的相关信息。 首先,让我们了解什么是注册表。在Windows操作系统中,注册表是存储系统和应用程序设置的关键数据库。它包含有关硬件、软件、用户、文件类型...

    qt C++通过修改windows 注册表,修改系统的网络代理.zip

    qt C++通过修改windows 注册表,修改系统的网络代理 qt C++通过修改windows 注册表,修改系统的网络代理 qt C++通过修改windows 注册表,修改系统的网络代理 qt C++通过修改windows 注册表,修改系统的网络代理 qt ...

    通过注册表实现串口热插拔

    它可能包含了代码来监听设备变化,读写注册表,以及与串口设备通信的逻辑。分析这个程序的源代码,可以帮助你更好地理解串口热插拔的实现过程。 总之,通过注册表实现串口热插拔涉及到对Windows系统底层的理解,...

    Qt 获取系统默认图标

    在这些类中,检查与SHGetStockIconInfo相关的代码,找出可能的错误。错误可能包括但不限于:参数传递错误、未处理的异常情况、不正确的资源释放等。 修复bug通常需要对Windows API有深入的理解。例如,确保传递给...

    qt自动识别windows串口号

    在Windows操作系统中,开发应用程序时有时需要与串行端口(COM端口)进行通信,例如在物联网设备、工业控制或嵌入式系统等领域。Qt是一个跨平台的应用程序开发框架,广泛用于创建图形用户界面和其他桌面及移动应用。...

    注册表的修改与删除等操作

    - **备份与恢复**:修改注册表前最好进行备份,以防止意外导致系统不稳定,同时提供恢复机制。 - **安全编码**:避免直接硬编码敏感的注册表键路径,防止恶意篡改。 - **遵循最佳实践**:不要随意在HKLM(HKEY_LOCAL...

    QTP卸载后清理注册表工具

    清理QTP自动化测试工具卸载后注册表的残留

    QT管理员权限补丁

    标签中的“QT_UAC”指的是QT与Windows的UAC机制的交互,“QT_注册表”表示与注册表相关的操作,“QT管理员权限”和“QT程序管理员”强调的是QT程序获取管理员权限的能力。 补丁文件"管理员权限补丁"可能是包含上述...

Global site tag (gtag.js) - Google Analytics