檢查指定的作業系統和作業系統功能。
語法
BOOL IsOS(
[in] DWORD dwOS
);
參數
[in] dwOS
類型: DWORD
指定要檢查的作業系統或作業系統特性的值。 下列其中一個值 (您無法合併值)。
| 名稱 | 價值觀 | Description |
|---|---|---|
| OS_WINDOWS | 0 | 該程序在以下版本的 Windows 上運行:
|
| OS_NT | 1 | 一律傳回 TRUE。 |
| OS_WIN95ORGREATER | 2 | 一律傳回 FALSE。 |
| OS_NT4ORGREATER | 3 | 一律傳回 FALSE。 |
| OS_WIN98ORGREATER | 5 | 一律傳回 FALSE。 |
| OS_WIN98_GOLD | 6 | 一律傳回 FALSE。 |
| OS_WIN2000ORGREATER | 7 | 該程序在 Windows 2000 或其後繼者之一上運行。 |
| OS_WIN2000PRO | 8 | 請勿使用;使用OS_PROFESSIONAL。 |
| OS_WIN2000SERVER | 9 | 請勿使用;使用OS_SERVER。 |
| OS_WIN2000ADVSERVER | 10 | 請勿使用;使用OS_ADVSERVER。 |
| OS_WIN2000DATACENTER | 11 | 請勿使用;使用OS_DATACENTER。 |
| OS_WIN2000TERMINAL | 12 | 程式在遠端管理模式或應用程式伺服器模式的 Windows 2000 終端機伺服器上執行,或在終端機伺服器模式或遠端桌面系統管理模式的 Windows Server 2003 (或其後續版本之一) 上執行。 請考慮使用更具體的值,例如 OS_TERMINALSERVER、OS_TERMINALREMOTEADMIN 或 OS_PERSONALTERMINALSERVER。 |
| OS_EMBEDDED | 13 | 該程序在 Windows Embedded 上運行,任何版本。 相當於 VER_SUITE_EMBEDDEDNT。 |
| OS_TERMINALCLIENT | 14 | 程式會以終端機伺服器用戶端的形式執行。 相當於 GetSystemMetrics(SM_REMOTESESSION)。 |
| OS_TERMINALREMOTEADMIN | 15 | 程式會在遠端管理模式的 Windows 2000 終端機伺服器上執行,或在遠端桌面系統管理模式的 Windows Server 2003 (或其後續版本之一) 上執行 (這些是預設安裝模式) 。 這相當於 VER_SUITE_TERMINAL 和 VER_SUITE_SINGLEUSERTS。 |
| OS_WIN95_GOLD | 16 | 一律傳回 FALSE。 |
| OS_MEORGREATER | 17 | 一律傳回 FALSE。 |
| OS_XPORGREATER | 18 | 一律傳回 FALSE。 |
| OS_HOME | 19 | 一律傳回 FALSE。 |
| OS_PROFESSIONAL | 20 | 該程式在 Windows NT Workstation 或 Windows 2000(或其後續版本之一)Professional 上運行。 相當於 VER_PLATFORM_WIN32_NT & VER_NT_WORKSTATION。 |
| OS_DATACENTER | 21 | 該程序在 Windows Datacenter Server 或 Windows Server Datacenter Edition(任何版本)上運行。 相當於 (VER_NT_SERVER || VER_NT_DOMAIN_CONTROLLER) &; VER_SUITE_DATACENTER。 |
| OS_ADVSERVER | 22 | 該程序在 Windows Advanced Server 或 Windows Server Enterprise Edition(任何版本)上運行。 相當於 (VER_NT_SERVER || VER_NT_DOMAIN_CONTROLLER) &; VER_SUITE_ENTERPRISE &; !VER_SUITE_DATACENTER。 |
| OS_SERVER | 23 | 該程序在 Windows Server(標準)或 Windows Server Standard Edition(任何版本)上運行。 此值不會針對 VER_SUITE_DATACENTER、VER_SUITE_ENTERPRISE、VER_SUITE_SMALLBUSINESS 或 VER_SUITE_SMALLBUSINESS_RESTRICTED傳回 true。 |
| OS_TERMINALSERVER | 24 | 程式會在應用程式伺服器模式的 Windows 2000 終端機伺服器上執行,或在終端機伺服器模式的 Windows Server 2003 (或其後續版本) 上執行。 這相當於 VER_SUITE_TERMINAL 和 VER_SUITE_SINGLEUSERTS。 |
| OS_PERSONALTERMINALSERVER | 25 | 該程序在 Windows XP(或其後繼版本之一)、家庭版或專業版上運行。 這相當於 VER_SUITE_SINGLEUSERTS &&!VER_SUITE_TERMINAL。 |
| OS_FASTUSERSWITCHING | 26 | 啟用快速使用者切換。 |
| OS_WELCOMELOGONUI | 二十七 | 一律傳回 FALSE。 |
| OS_DOMAINMEMBER | 28 | 電腦已加入網域。 |
| OS_ANYSERVER | 二十九 | 該程序正在任何 Windows Server 產品上運行。 相當於 VER_NT_SERVER || VER_NT_DOMAIN_CONTROLLER。 |
| OS_WOW6432 | 30 | 該程序是一個在 32 位 Windows 上運行的 64 位程序。 |
| OS_WEBSERVER | 31 | 一律傳回 FALSE。 |
| OS_SMALLBUSINESSSERVER | 32 | 該程序在 Microsoft Small Business Server 上運行,並具有有效的限制性客戶端許可證。 相當於 VER_SUITE_SMALLBUSINESS_RESTRICTED。 |
| OS_TABLETPC | 33 | 該程序在 Windows XP Tablet PC Edition 或其後繼版本之一上運行。 |
| OS_SERVERADMINUI | 34 | 使用者應該會看到系統管理員 UI。 可以在非伺服器機器上具有伺服器管理 UI。 此值會通知應用程式系統管理員的配置檔已漫遊至非伺服器,且 UI 應該適合系統管理員。 否則,系統會向使用者顯示管理員和非管理員設定的混合。 |
| OS_MEDIACENTER | 35 | 該程序在 Windows XP Media Center Edition 或其後繼版本之一上運行。 相當於 GetSystemMetrics(SM_MEDIACENTER)。 |
| OS_APPLIANCE | 36 | 該程序正在 Windows 設備服務器上運行。 |
返回值
類型: 布爾值
如果偵測到指定的作業系統或作業系統功能,則傳回非零值,否則傳回 FALSE。
備註
未針對 Windows Vista 和 Windows 7 提供值。 若要判斷其中任一作業系統是否存在,請使用 VerifyVersionInfo。
在 Windows Vista 之前的 Windows 版本中, IsOS 不會依名稱匯出,或在公用標頭檔中宣告。 若要在這些情況下使用它,您必須使用 GetProcAddress 並要求 Shlwapi.dll 序數 437 來取得函式指標。 在 Windows Vista 下, IsOS 包含在 Shlwapi.h 中,這不是必需的。
當提到伺服器產品時,「Windows Server」僅指標準版伺服器。 如果所有伺服器產品都涵蓋特定旗標,則會在表格中明確呼叫該旗標。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 2000 專業版、Windows XP [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows 2000 Server、Windows Server 2003 [僅限傳統型應用程式] |
| 目標平臺 | 窗戶 |
| Header | 什爾瓦皮.h |
| Library | mincore_downlevel.lib |
| DLL | Shlwapi.dll(5.0 版或更新版本) |