diff --git a/src/lib/synergy/win32/AppUtilWindows.cpp b/src/lib/synergy/win32/AppUtilWindows.cpp index 0a8ae000..5e336088 100644 --- a/src/lib/synergy/win32/AppUtilWindows.cpp +++ b/src/lib/synergy/win32/AppUtilWindows.cpp @@ -35,6 +35,7 @@ #include #include #include +#include AppUtilWindows::AppUtilWindows(IEventQueue* events) : m_events(events), @@ -133,14 +134,9 @@ AppUtilWindows::beforeAppExit() int AppUtilWindows::run(int argc, char** argv) { - OSVERSIONINFO osvi; - ZeroMemory(&osvi, sizeof(OSVERSIONINFO)); - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&osvi); - - if (osvi.dwMajorVersion < 5 || (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion < 1)) { - throw std::runtime_error("synergy only supports windows xp and above."); - } + if (!IsWindowsXPSP3OrGreater()) { + throw std::runtime_error("Synergy only supports Windows XP SP3 and above."); + } // record window instance for tray icon, etc ArchMiscWindows::setInstanceWin32(GetModuleHandle(NULL));