IsOS 函数 (shlwapi.h)

检查指定的作系统和作系统功能。

Syntax

BOOL IsOS(
  [in] DWORD dwOS
);

参数

[in] dwOS

类型:DWORD

一个值,该值指定要检查的作系统或作系统功能。 以下值之一(不能合并值)。

Name 价值 Description
OS_WINDOWS 0 该程序在以下 Windows 版本之一上运行:
  • Windows 95
  • Windows 98
  • Windows Me
等效于 VER_PLATFORM_WIN32_WINDOWS。 请注意,目前不支持这些系统。 OS_WINDOWS 在所有受支持的系统上返回 FALSE
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_DATACENTERVER_SUITE_ENTERPRISEVER_SUITE_SMALLBUSINESSVER_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 或更高版本)

另请参阅

GetSystemMetrics

GetVersionEx

VerifyVersionInfo