| | |
| | | // Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) |
| | | // Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) |
| | | // SPDX-License-Identifier: Apache-2.0 |
| | | |
| | | #ifndef QWINDOWKIT_WINDOWS_H |
| | | #define QWINDOWKIT_WINDOWS_H |
| | | |
| | | #include <QtCore/qt_windows.h> |
| | | #include <QtCore/qglobal.h> |
| | | |
| | | #if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) |
| | | # include <QtCore/private/qwinregistry_p.h> |
| | | #endif |
| | | |
| | | #include <QWKCore/qwkglobal.h> |
| | | |
| | |
| | | (rovi.dwMajorVersion == 6 && rovi.dwMinorVersion >= 2); |
| | | } |
| | | |
| | | inline bool IsWindows10_Real() { |
| | | inline bool IsWindows10Only_Real() { |
| | | return IsWindows10OrGreater_Real() && !IsWindows11OrGreater_Real(); |
| | | } |
| | | |
| | | } |
| | | |
| | | // |
| | | // Registry Helpers |
| | | // |
| | | |
| | | #if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) |
| | | class QWK_CORE_EXPORT WindowsRegistryKey { |
| | | public: |
| | | WindowsRegistryKey(HKEY parentHandle, QStringView subKey, REGSAM permissions = KEY_READ, |
| | | REGSAM access = 0); |
| | | |
| | | ~WindowsRegistryKey(); |
| | | |
| | | inline bool isValid() const; |
| | | |
| | | void close(); |
| | | QString stringValue(QStringView subKey) const; |
| | | QPair<DWORD, bool> dwordValue(QStringView subKey) const; |
| | | |
| | | private: |
| | | HKEY m_key; |
| | | |
| | | Q_DISABLE_COPY(WindowsRegistryKey) |
| | | }; |
| | | |
| | | inline bool WindowsRegistryKey::isValid() const { |
| | | return m_key != nullptr; |
| | | } |
| | | #else |
| | | using WindowsRegistryKey = QWinRegistryKey; |
| | | #endif |
| | | |
| | | // |
| | | // Version Helpers |
| | |
| | | return result; |
| | | } |
| | | |
| | | static inline bool isWin10() { |
| | | static const bool result = Private::IsWindows10_Real(); |
| | | static inline bool isWin10Only() { |
| | | static const bool result = Private::IsWindows10Only_Real(); |
| | | return result; |
| | | }; |
| | | |