bool IsWindow2000()
{
OSVERSIONINFO osif;
osif.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osif);
if(5 == osif.dwMajorVersion && 0 == osif.dwMinorVersion)
return true;
return false;
}
bool IsWindowXP()
{
OSVERSIONINFO osif;
osif.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osif);
if(5 == osif.dwMajorVersion && 1 == osif.dwMinorVersion)
return true;
return false;
}
bool IsWindowVista()
{
OSVERSIONINFO osif;
osif.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osif);
if(6 == osif.dwMajorVersion && 0 == osif.dwMinorVersion)
return true;
return false;
}
bool IsWindow7()
{
OSVERSIONINFO osif;
osif.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osif);
if(6 == osif.dwMajorVersion && 1 == osif.dwMinorVersion)
return true;
return false;
}
bool IsWindowVistaLatter()
{
OSVERSIONINFO osif;
osif.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osif);
if(6 == osif.dwMajorVersion)
return true;
return false;
}
bool IsWindow7Latter()
{
OSVERSIONINFO osif;
osif.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osif);
if(6 == osif.dwMajorVersion && osif.dwMinorVersion >= 1)
return true;
return false;
}
bool IsWindowServer()
{
OSVERSIONINFOEX osif;
osif.dwOSVersionInfoSize = sizeof(osif);
GetVersionEx((LPOSVERSIONINFOW)&osif);
if(VER_NT_SERVER == osif.wProductType)
return true;
return false;
}
#ifndef PROCESSOR_ARCHITECTURE_AMD64
#define PROCESSOR_ARCHITECTURE_AMD64 9
#endif
bool Is64Windows()
{
typedef void (_stdcall * PFNGetNativeSystemInfo)(LPSYSTEM_INFO lpSystemInfo);
SYSTEM_INFO si = {0};
PFNGetNativeSystemInfo pGNSI;
pGNSI = (PFNGetNativeSystemInfo)GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")),"GetNativeSystemInfo");
if(NULL != pGNSI)
pGNSI(&si);
else
GetSystemInfo(&si);
if(si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64 || si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
return true;
return false;
}
bool IsHasInternetConnection()
{
DWORD dwFlag;
if(!InternetGetConnectedState(&dwFlag,0))
return false;
if(dwFlag&INTERNET_CONNECTION_OFFLINE)
return false;
if( (dwFlag&INTERNET_CONNECTION_LAN) ||
(dwFlag&INTERNET_CONNECTION_MODEM) ||
(dwFlag&INTERNET_CONNECTION_PROXY))
return true;
return false;
}