1. 程式人生 > >VC判斷作業系統為Win7的最簡單程式碼!

VC判斷作業系統為Win7的最簡單程式碼!

由於專案需要判斷Windows的作業系統版本,主要還是很多軟硬體都有win7的不相容性,所以需要進行判斷。

關於如何判斷系統版本的詳細文章見MSDN:

下面是我自己精簡後的程式碼,程式碼在WindowsXP+VC6編譯通過,並在WindowsXP 、Windows 7上測試通過:

  1. bool isWin7()  
  2. {  
  3.     OSVERSIONINFOEX osvi;  
  4.     BOOL bOsVersionInfoEx;  
  5.     ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));  
  6.     osvi.dwOSVersionInfoSize = sizeof
    (OSVERSIONINFOEX);  
  7.     bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO*) &osvi);  
  8.     // win7的系統版本為NT6.1
  9.     if ( VER_PLATFORM_WIN32_NT == osvi.dwPlatformId &&    
  10.         osvi.dwMajorVersion == 6 &&   
  11.         osvi.dwMinorVersion == 1 )  
  12.     {  
  13.         returntrue;      
  14.     }  
  15.     else
  16.     {  
  17.         returnfalse;  
  18.     }  
  19. }  

測試程式碼也很簡單:

  1. if (isWin7())  
  2. {  
  3.     MessageBox("當前系統是Win7""提示", MB_OK | MB_ICONINFORMATION);  
  4. }  
  5. else
  6. {  
  7.     MessageBox("當前系統不是Win7""提示", MB_OK | MB_ICONINFORMATION);  
  8. }