OSDN Git Service

Added reg_key_exists() function.
authorLoRd_MuldeR <mulder2@gmx.de>
Sun, 26 Jul 2015 13:11:17 +0000 (15:11 +0200)
committerLoRd_MuldeR <mulder2@gmx.de>
Sun, 26 Jul 2015 13:11:17 +0000 (15:11 +0200)
include/MUtils/Registry.h
src/Registry_Win32.cpp

index 8467e27..3413034 100644 (file)
@@ -82,6 +82,7 @@ namespace MUtils
                MUTILS_API bool reg_value_write (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, const QString &value);
                MUTILS_API bool reg_value_read  (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, quint32       &value);
                MUTILS_API bool reg_value_read  (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, QString       &value);
+               MUTILS_API bool reg_key_exists  (const reg_root_t &rootKey, const QString &keyName);
                MUTILS_API bool reg_key_delete  (const reg_root_t &rootKey, const QString &keyName);
                MUTILS_API bool reg_enum_values (const reg_root_t &rootKey, const QString &keyName, QStringList &list);
                MUTILS_API bool reg_enum_subkeys(const reg_root_t &rootKey, const QString &keyName, QStringList &list);
index 7c59b98..9df56db 100644 (file)
@@ -341,6 +341,20 @@ bool MUtils::Registry::reg_enum_subkeys(const reg_root_t &rootKey, const QString
 }
 
 /*
+ * Check registry key existence
+ */
+bool MUtils::Registry::reg_key_exists(const reg_root_t &rootKey, const QString &keyName)
+{
+       HKEY hKey = NULL;
+       if(RegOpenKeyEx(registry_root(rootKey), MUTILS_WCHR(keyName), 0, STANDARD_RIGHTS_READ, &hKey) == ERROR_SUCCESS)
+       {
+               RegCloseKey(hKey);
+               return true;
+       }
+       return false;
+}
+
+/*
  * Delete registry key
  */
 bool MUtils::Registry::reg_key_delete(const reg_root_t &rootKey, const QString &keyName)