[MFC] 作業系統版本判定

今天同事在測我寫的小工具的時候,發現Windows2000出現異常:明明有寫進機碼的東西,但是卻檢查不出來。後來發現是我用了Windows2000不支援的flag,所以增加了判斷是否為Windwos 2000。

今天同事在測我寫的小工具的時候,發現Windows2000出現異常:明明有寫進機碼的東西,但是卻檢查不出來。後來發現是我用了Windows2000不支援的flag,所以增加了判斷是否為Windwos 2000。取得版本判斷的方式很簡單:


GetVersionEx(&os);
m_bWin2K = ( VER_PLATFORM_WIN32_NT == os.dwPlatformId && os.dwMajorVersion == 5  && os.dwMinorVersion == 0);

MSDN那邊有一張表提供了版本資訊:

image

 

從上表得知 5.0是Windows 2000囉!

 

相關連結:

Registry Key Security and Access Rightsregistryregistry

OSVERSIONINFO Structure

 

Dotblogs 的標籤: ,