diff --git a/framelesshelper_windows.pro b/framelesshelper_windows.pro index 3f920e7..cb23ce4 100644 --- a/framelesshelper_windows.pro +++ b/framelesshelper_windows.pro @@ -14,7 +14,8 @@ DEFINES += \ _CRT_SECURE_NO_WARNINGS \ QT_NO_CAST_FROM_ASCII \ QT_NO_CAST_TO_ASCII \ - FRAMELESSHELPER_STATIC + FRAMELESSHELPER_STATIC \ + WNEF_WIN10_HAS_WINDOW_FRAME LINK_TO_SYSTEM_DLL { DEFINES += WNEF_LINK_SYSLIB LIBS += -luser32 -lgdi32 -ldwmapi -lshcore diff --git a/winnativeeventfilter.cpp b/winnativeeventfilter.cpp index 93161bd..043fe0e 100644 --- a/winnativeeventfilter.cpp +++ b/winnativeeventfilter.cpp @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -131,11 +132,15 @@ bool isWin10OrGreater(const int ver) bool shouldHaveWindowFrame() { +#ifdef WNEF_WIN10_HAS_WINDOW_FRAME #if (QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)) return QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows10; #else return QSysInfo::WindowsVersion >= QSysInfo::WV_WINDOWS10; #endif +#else + return false; +#endif } #ifndef WNEF_GENERATE_WINAPI @@ -159,7 +164,7 @@ bool shouldHaveWindowFrame() #define WNEF_RESOLVE_WINAPI(libName, funcName) \ if (!m_lp##funcName) { \ m_lp##funcName = reinterpret_cast<_WNEF_WINAPI_##funcName>( \ - GetProcAddress(GetModuleHandleW(L#libName), #funcName)); \ + QLibrary::resolve(QString::fromUtf8(#libName), #funcName)); \ WNEF_RESOLVE_ERROR(funcName) \ } #endif @@ -337,7 +342,7 @@ WNEF_GENERATE_WINAPI(GetClientRect, BOOL, HWND, LPRECT) WNEF_GENERATE_WINAPI(GetWindowRect, BOOL, HWND, LPRECT) WNEF_GENERATE_WINAPI(ScreenToClient, BOOL, HWND, LPPOINT) WNEF_GENERATE_WINAPI(EqualRect, BOOL, CONST RECT *, CONST RECT *) -#if defined(WIN64) || defined(_WIN64) +#ifdef Q_PROCESSOR_X86_64 WNEF_GENERATE_WINAPI(GetWindowLongPtrW, LONG_PTR, HWND, int) WNEF_GENERATE_WINAPI(SetWindowLongPtrW, LONG_PTR, HWND, int, LONG_PTR) WNEF_GENERATE_WINAPI(GetClassLongPtrW, ULONG_PTR, HWND, int) @@ -492,7 +497,7 @@ void ResolveWin32APIs() WNEF_RESOLVE_WINAPI(User32, GetWindowRect) WNEF_RESOLVE_WINAPI(User32, ScreenToClient) WNEF_RESOLVE_WINAPI(User32, EqualRect) -#if defined(WIN64) || defined(_WIN64) +#ifdef Q_PROCESSOR_X86_64 // These functions only exist in 64 bit User32.dll WNEF_RESOLVE_WINAPI(User32, GetWindowLongPtrW) WNEF_RESOLVE_WINAPI(User32, SetWindowLongPtrW)