检查指定的作系统和作系统功能。
Syntax
BOOL IsOS(
[in] DWORD dwOS
);
参数
[in] dwOS
类型:DWORD
一个值,该值指定要检查的作系统或作系统功能。 以下值之一(不能合并值)。
| Name | 价值 | 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 Server 2003(或其后续程序之一)的 Windows 2000 终端服务器上运行(这些是默认安装模式)。 这相当于 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 工作站或 Windows 2000(或其继任者之一)专业上运行。 等效于 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 | 二十五 | 该程序在 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 | 该程序是在 64 位 Windows 上运行的 32 位程序。 |
| 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 设备服务器上运行。 |
返回值
类型: BOOL
如果检测到指定的作系统或作系统功能,则返回非零值,否则返回 FALSE。
注解
未为 Windows Vista 和 Windows 7 提供值。 若要确定是否存在其中任一作系统,请使用 VerifyVersionInfo。
在早于 Windows Vista 的 Windows 版本中, IsOS 未按名称导出或在公共头文件中声明。 若要在这些情况下使用它,必须使用 GetProcAddress 并从 Shlwapi.dll 请求序号 437 以获取函数指针。 在 Windows Vista 下, IsOS 包含在 Shlwapi.h 中,这是没有必要的。
引用服务器产品时,“Windows Server”仅指 Standard Edition 服务器。 如果所有服务器产品都由特定标志覆盖,则会在表中显式调用它。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 2000 Professional、Windows XP [仅限桌面应用] |
| 支持的最低服务器 | Windows 2000 Server、Windows Server 2003 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | shlwapi.h |
| Library | mincore_downlevel.lib |
| DLL | Shlwapi.dll (版本 5.0 或更高版本) |