#define PACKVERSION( x, y ) MAKELONG( x, y ) BOOL IsXP( void ) ... { return GetWinVersion( ) > PACKVERSION(5, 1) ? TRUE:FALSE} DWORD GetWinVersion( void ) ... { static DWORD c_dwWinVers=0; // check win version only once (will not change during application) if(!c_dwWinVers) ...{ OSVERSIONINFO osvi; ZeroMemory(&osvi, sizeof(OSVERSIONINFO)); // Initialize the OSVERSIONINFO structure. osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&osvi); c_dwWinVers=PACKVERSION(osvi.dwMajorVersion,osvi.dwMinorVersion); } return c_dwWinVers;}