QSettings修改注册表文件关联,无法新建注册表项

Coderec Coderec 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
 
QSettings *Reg = new QSettings("HKEY_CLASSES_ROOT\\.mp3", QSettings::NativeFormat);

QString currentValue = Reg->value("Default").toString();

if (currentValue.isEmpty() ||
currentValue != "MyMusic.mp3")
{
QMessageBox::information(NULL,"information","Unregistered or Uncorrect");
Reg->setValue("Default", "MyMusic.mp3");
QSettings *iconReg = new QSettings("HKEY_CLASSES_ROOT\\MyMusic.mp3\\DefaultIcon", QSettings::NativeFormat);
iconReg->setValue("Default", QString(qApp->argv()[0]) + ",0"); //将当前运行的程序图标置入
delete iconReg;

QSettings *programReg = new QSettings("HKEY_CLASSES_ROOT\\MyMusic.mp3\\shell\\open\\command", QSettings::NativeFormat);
programReg->setValue("Default", QString(qApp->argv()[0]) + " %1"); //将当前运行的程序路径置入
delete programReg;
}
delete Reg;


这是代码,运行了但是没有创建新的注册表项,也就是说,置入图标和路径都失败了,现在就是让windows无法找到打开MP3文件的程序


HKEY_CLASSES_ROOT\\.mp3这一项倒是把default改成MyMusic.mp3了

这是为什么呢,文档里说若不存在就创建的啊,怎么解决呢?
...全文
评论 7
收藏 已收藏
分享
返回顶部
Coderec
Qt 21,503 成员 26,693 内容