2
哪一個是在以下幾個方面的窗戶讓操作系統名稱,操作系統版本更好 -如何在Windows中獲取os名稱,版本?
- 時間獲取信息 在所有的Windows操作系統像XP,VISTA
- 兼容性和更高的
系統的系統信息或wmic命令?我想避免在C中使用OSVersionInfoEx,因爲必須對營銷名稱檢測進行硬編碼,並且如果引入了新的窗口風格,將會增加維護工作。請分享您的意見。
哪一個是在以下幾個方面的窗戶讓操作系統名稱,操作系統版本更好 -如何在Windows中獲取os名稱,版本?
系統的系統信息或wmic命令?我想避免在C中使用OSVersionInfoEx,因爲必須對營銷名稱檢測進行硬編碼,並且如果引入了新的窗口風格,將會增加維護工作。請分享您的意見。
GetVersionEx - 對於獲取基本的操作系統版本號,你無法獲得比此更快的速度。但是你是對的,你將無法將更新版本的操作系統映射到正確的字符串。你有沒有考慮過這樣做:
OSVERSIONINFOEX version = {};
char szOS[MAX_OS_LENGTH];
version.dwOSVersionInfoSize = sizeof(version);
GetVersionEx((OSVERSIONINFO*)&version);
if (MyFunctionToMapVersionToString(&version, szOS) == false)
{
sprintf(szOS, "Microsoft Windows %d.%d", version.dwMajorVersion, version.dwMinorVersion);
}
WMI-多一點的代碼來寫。但是,您可能只是在應用程序啓動時(或需要時)執行此操作,並在再次需要信息時緩存結果。它不像操作系統的產品名稱會在應用程序查詢一次後發生變化。 :)至於向後兼容性,我確定它在較早的操作系統上工作正常......但是在將它交付給客戶之前,您將對其進行測試,對吧?
如果你想要一個未公開的方式,也有正是一個註冊表項,你希望它是什麼:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion ("ProductName")