From 4c4ab59f244d9ec6f51c704d22763fe358c212c0 Mon Sep 17 00:00:00 2001 From: Peter Repukat Date: Sat, 19 Nov 2016 07:59:56 +0100 Subject: [PATCH] Detect more names of UWP-Apps (where possible) --- GloSC/GloSC.cpp | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/GloSC/GloSC.cpp b/GloSC/GloSC.cpp index dc901ae..57040b7 100644 --- a/GloSC/GloSC.cpp +++ b/GloSC/GloSC.cpp @@ -72,6 +72,7 @@ void GloSC::writeIni(QString entryName) } + void GloSC::on_pbSave_clicked() { QString name = ui.leName->text(); @@ -187,6 +188,7 @@ void GloSC::on_pbUWP_clicked() QStringList AppNames; QStringList AppUMIds; + for (auto &package : packages) { settings = new QSettings("HKEY_CLASSES_ROOT\\"+package, QSettings::NativeFormat); @@ -199,8 +201,43 @@ void GloSC::on_pbUWP_clicked() AppNames << AppName; AppUMIds << AppUMId; - if (AppName.size() == 0 || AppName.at(0) == '@') + if (AppName.size() == 0) + { AppName = "Unknown"; + } else if (AppName.at(0) == '@') { + QString packageName = AppName.mid(AppName.indexOf('{') + 1, AppName.size() -1); + packageName = packageName.mid(0, packageName.indexOf('?')); + QStringList cachedNameChildGroups; + QSettings settings("HKEY_CLASSES_ROOT\\Local Settings\\MrtCache", QSettings::NativeFormat); + + cachedNameChildGroups = settings.childGroups(); + + for (auto &childGroup : cachedNameChildGroups) + { + + if (childGroup.contains(packageName)) + { + QSettings settings("HKEY_CLASSES_ROOT\\Local Settings\\MrtCache\\"+ childGroup, QSettings::NativeFormat); + + QStringList allKeys = settings.allKeys(); + + AppName.replace("/", "\\"); + for (auto &key : allKeys) + { + if (key.contains(AppName)) + { + AppName = settings.value(key).toString(); + break; + } + } + + break; + } + } + if (AppName.at(0) == '@') { + AppName = "Unknown"; + } + } UWPPair uwpPair = { AppName,