实现功能:通过调用系统默认程序打开相应文档
思路:windows系统中特定文件的打开方式定义在HKEY_CLASSES_ROOT下的,例如pdf文件,则定义的项为.pdf,查看里面的默认值,得到打开文档的默认程序项,在HKEY_CLASSES_ROOT下继续搜索这个项的shell\\open\\command,其默认值就为windows调用的shell命令,格式为:“app_path”"%1"。从这我们可以得到完整的程序路径了。接下来只要在程序中ShellExecute即可。
问题:使用qt的qsettings类读取注册表返回空值
解决:搜先qsettings中的format参数必须指定QSettings::NativeFormat,读取注册表项的默认值的方法是getValue的key参数为"."