VC判斷作業系統為Win7的最簡單程式碼!
阿新 • • 發佈:2019-01-06
由於專案需要判斷Windows的作業系統版本,主要還是很多軟硬體都有win7的不相容性,所以需要進行判斷。
關於如何判斷系統版本的詳細文章見MSDN:
下面是我自己精簡後的程式碼,程式碼在WindowsXP+VC6編譯通過,並在WindowsXP 、Windows 7上測試通過:
- bool isWin7()
- {
- OSVERSIONINFOEX osvi;
- BOOL bOsVersionInfoEx;
- ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
- osvi.dwOSVersionInfoSize = sizeof
- bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO*) &osvi);
- // win7的系統版本為NT6.1
- if ( VER_PLATFORM_WIN32_NT == osvi.dwPlatformId &&
- osvi.dwMajorVersion == 6 &&
- osvi.dwMinorVersion == 1 )
- {
- returntrue;
- }
- else
- {
- returnfalse;
- }
- }
測試程式碼也很簡單:
- if (isWin7())
- {
- MessageBox("當前系統是Win7", "提示", MB_OK | MB_ICONINFORMATION);
- }
- else
- {
- MessageBox("當前系統不是Win7", "提示", MB_OK | MB_ICONINFORMATION);
- }