• 5639阅读
  • 4回复

[提问]读取注册表失灵![已解决] [复制链接]

上一主题 下一主题
离线20091001753
 

只看楼主 倒序阅读 楼主  发表于: 2011-09-18
注册表:


程序截图:


代码
  1. QSettings *reg = new QSettings("HKEY_LOCAL_MACHINE\\HARDWARE\\DEVICEMAP\\SERIALCOMM\\",QSettings::NativeFormat);
  2. QStringList Keys=reg->allKeys();
  3. ui->plainTextEdit->appendPlainText(tr("项目个数:%1\n").arg(Keys.size()));
  4. for(int a=0;a<Keys.size();a++)
  5. {
  6.         ui->plainTextEdit->appendPlainText(tr("《项目 %1》\n名称:%2\n数值:%3\n").arg(a+1).arg(Keys.at(a)).arg(reg->value(Keys.at(a)).toString()));
  7. }


到底怎么搞的?
(づ ̄ 3 ̄)づ
离线20091001753

只看该作者 1楼 发表于: 2011-09-18
value 读不出来呀······
(づ ̄ 3 ̄)づ
离线20091001753

只看该作者 2楼 发表于: 2011-09-19
现在已经做好了。后来是实在没办法, QSetting 与 WINAPI 一起用···
QSetting负责输出项目个数,RegEnumValue()负责读取值。


(づ ̄ 3 ̄)づ
离线dbzhang800

只看该作者 3楼 发表于: 2011-09-19
引用第1楼20091001753于2011-09-18 12:10发表的  :
value 读不出来呀······

多看manual:

Note that the backslash character is, as mentioned, used by QSettings to separate subkeys. As a result, you cannot read or write windows registry entries that contain slashes or backslashes; you should use a native windows API if you need to do so.
离线20091001753

只看该作者 4楼 发表于: 2011-09-19
引用第4楼dbzhang800于2011-09-19 08:47发表的  :
多看manual:
Note that the backslash character is, as mentioned, used by QSettings to separate subkeys. As a result, you cannot read or write windows registry entries that contain slashes or backslashes; you should use a native windows API if you need to do so.



非常感谢!
(づ ̄ 3 ̄)づ
快速回复
限100 字节
 
上一个 下一个