解决了WINDOWS7判断的问题
BOOL GetOS(LPTSTR lpBuffer, UINT uSize){ OSVERSIONINFOEX osvi;ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if( !GetVersionEx ((OSVERSIONINFO *)&osvi) ){ osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); if( !GetVersionEx( (OSVERSIONINFO *)&osvi) ) return FALSE ;}
lpBuffer [0] = _T('/0') ;
if( osvi.dwMajorVersion == 4 ){ switch( osvi.dwPlatformId ) { case VER_PLATFORM_WIN32_WINDOWS: lstrcpyn( lpBuffer, _T("Windows98"), uSize ) ; break;
case VER_PLATFORM_WIN32_NT: lstrcpyn( lpBuffer, _T("WindowsNT"), uSize ) ; break; }}else if( osvi.dwMajorVersion == 5 ){ switch( osvi.dwMinorVersion ) { case 0: lstrcpyn( lpBuffer, _T("Windows2000"), uSize ) ; break;
case 1: lstrcpyn( lpBuffer, _T("WindowsXP"), uSize ) ; break;
case 2: lstrcpyn( lpBuffer, _T("Windows2003"), uSize ) ; break; }}else if( osvi.dwMajorVersion == 6 ){ // lstrcpyn( lpBuffer, _T("Vista"), uSize ) ; switch( osvi.dwMinorVersion ) { case 0: lstrcpyn( lpBuffer, _T("Vista"), uSize ) ; break; case 1: lstrcpyn( lpBuffer, _T("Windows7"), uSize ) ; break; }}
return lstrlen(lpBuffer) > 0 ;}