该程序在下列 windows 版本之一上运行:
- Windows 95
- Windows 98
- Windows Me
<p>相当于 VER_PLATFORM_WIN32_WINDOWS。请注意, 此时这些系统都不受支持。OS_WINDOWS 在所有支持的系统上返回 FALSE <tr> <td>OS_NT</td> <td>1</td> <td>总是返回 <span style="font-weight:bold">TRUE</span>.</td></tr> <tr> <td>OS_WIN95ORGREATER</td> <td>2</td> <td>总是返回 <span style="font-weight:bold">FALSE</span>.</td></tr> <tr> <td>OS_NT4ORGREATER</td> <td>3</td> <td>总是返回 <span style="font-weight:bold">FALSE</span>.</td></tr> <tr> <td>OS_WIN98ORGREATER</td> <td>5</td> <td>总是返回 <span style="font-weight:bold">FALSE</span>.</td></tr> <tr> <td>OS_WIN98_GOLD</td> <td>6</td> <td>总是返回 <span style="font-weight:bold">FALSE</span>.</td></tr> <tr> <td>OS_WIN2000ORGREATER</td> <td>7</td> <td>程序在 Windows 2000 或其后继者之一上运行。</td></tr> <tr> <td>OS_WIN2000PRO</td> <td>8</td> <td>不要使用这个值; 使用 OS_PROFESSIONAL.</td></tr> <tr> <td>OS_WIN2000SERVER</td> <td>9</td> <td>不要使用这个值; 使用 OS_SERVER.</td></tr> <tr> <td>OS_WIN2000ADVSERVER</td> <td>10</td> <td>不要使用这个值; 使用 OS_ADVSERVER.</td></tr> <tr> <td>OS_WIN2000DATACENTER</td> <td>11</td> <td>不要使用这个值; 使用 OS_DATACENTER.</td></tr> <tr> <td>OS_WIN2000TERMINAL</td> <td>12</td> <td>该程序在 "远程管理" 模式或 "应用程序服务器" 模式下的 Windows 2000 终端服务器上运行, 或在 "终端服务器" 模式下或 "管理模式的远程桌面" 上的 Windows server 2003 (或其后继者之一)。请考虑使用更具体的值, 如 OS_TERMINALSERVER、OS_TERMINALREMOTEADMIN 或 OS_PERSONALTERMINALSERVER。</td></tr> <tr> <td>OS_EMBEDDED</td> <td>13</td> <td>程序运行在 Windows 嵌入式, 任何版本。相当于 VER_SUITE_EMBEDDEDNT。</td></tr> <tr> <td>OS_TERMINALCLIENT</td> <td>14</td> <td>该程序作为终端服务器客户端运行。等价于 GetSystemMetrics (SM_REMOTESESSION)。</td></tr> <tr> <td>OS_TERMINALREMOTEADMIN</td> <td>15</td> <td>该程序在远程管理模式下的 Windows 2000 终端服务器或 Windows server 2003 (或其后继者之一) 中运行, 用于管理模式的远程桌面 (这些是默认的安装模式)。这相当于 VER_SUITE_TERMINAL && VER_SUITE_SINGLEUSERTS。</td></tr> <tr> <td>OS_WIN95_GOLD</td> <td>16</td> <td>总是返回 <span style="font-weight:bold">FALSE</span>.</td></tr> <tr> <td>OS_MEORGREATER</td> <td>17</td> <td>总是返回 <span style="font-weight:bold">FALSE</span>.</td></tr> <tr> <td>OS_XPORGREATER</td> <td>18</td> <td>总是返回 <span style="font-weight:bold">FALSE</span>.</td></tr> <tr> <td>OS_HOME</td> <td>19</td> <td>总是返回 <span style="font-weight:bold">FALSE</span>.</td></tr> <tr> <td>OS_PROFESSIONAL</td> <td>20</td> <td>该程序运行在 Windows NT 工作站或 Windows 2000 (或其后继者之一) 的专业。相当于 VER_PLATFORM_WIN32_NT && VER_NT_WORKSTATION。</td></tr> <tr> <td>OS_DATACENTER</td> <td>21</td> <td>该程序在 Windows 数据中心服务器或 Windows 服务器数据中心版上运行, 任何版本。等同于 (VER_NT_SERVER || VER_NT_DOMAIN_CONTROLLER) && VER_SUITE_DATACENTER。</td></tr> <tr> <td>OS_ADVSERVER</td> <td>22</td> <td>该程序运行在 Windows 高级服务器或 Windows 服务器企业版, 任何版本。等同于 (VER_NT_SERVER || VER_NT_DOMAIN_CONTROLLER) && VER_SUITE_ENTERPRISE && !VER_SUITE_DATACENTER.</td></tr> <tr> <td>OS_SERVER</td> <td>23</td> <td>该程序运行在 Windows 服务器 (标准) 或 Windows 服务器标准版, 任何版本。对于 VER_SUITE_DATACENTER、VER_SUITE_ENTERPRISE、VER_SUITE_SMALLBUSINESS 或 VER_SUITE_SMALLBUSINESS_RESTRICTED, 此值将不会返回 TRUE。</td></tr> <tr> <td>OS_TERMINALSERVER</td> <td>24</td> <td>该程序在 "应用程序服务器" 模式下的 windows 2000 终端服务器上运行, 或在 "终端服务器" 模式下的 windows server 2003 (或其后继者之一) 上执行。这相当于 VER_SUITE_TERMINAL && VER_SUITE_SINGLEUSERTS。</td></tr> <tr> <td>OS_PERSONALTERMINALSERVER</td> <td>25</td> <td>该程序是运行在 Windows XP (或其后继者之一), 家庭版或专业。这相当于 VER_SUITE_SINGLEUSERTS && !VER_SUITE_TERMINAL.</td></tr> <tr> <td>OS_FASTUSERSWITCHING</td> <td>26</td> <td>启用快速用户切换。</td></tr> <tr> <td>OS_WELCOMELOGONUI</td> <td>27</td> <td>总是返回 <span style="font-weight:bold">FALSE</span>.</td></tr> <tr> <td>OS_DOMAINMEMBER</td> <td>28</td> <td>计算机加入域.</td></tr> <tr> <td>OS_ANYSERVER</td> <td>29</td> <td>程序在任何 windows 服务器产品上运行。等同于 VER_NT_SERVER || VER_NT_DOMAIN_CONTROLLER</td></tr> <tr> <td>OS_WOW6432</td> <td>30</td> <td>该程序是一个32位程序运行在64位的Windows上.</td></tr> <tr> <td>OS_WEBSERVER</td> <td>31</td> <td>总是返回 <span style="font-weight:bold">FALSE</span>.</td></tr> <tr> <td>OS_SMALLBUSINESSSERVER</td> <td>32</td> <td>该程序正在运行的微软小企业服务器与限制性的客户端许可证生效。相当于 VER_SUITE_SMALLBUSINESS_RESTRICTED。</td></tr> <tr> <td>OS_TABLETPC</td> <td>33</td> <td>该程序是运行在 Windows XP 平板电脑版, 或其后继者之一。</td></tr> <tr> <td>OS_SERVERADMINUI</td> <td>34</td> <td>应该向用户提供管理员 UI。可以在服务器计算机上拥有服务器管理用户界面。此值通知应用程序管理员的配置文件已漫游到服务器, 并且用户界面应适合管理员。否则, 用户将显示管理员和管理员设置的混合。</td></tr> <tr> <td>OS_MEDIACENTER</td> <td>35</td> <td>该程序运行在 Windows XP 媒体中心版上, 或其后继者之一。等价于 GetSystemMetrics (SM_MEDIACENTER)。</td></tr> <tr> <td>OS_APPLIANCE</td> <td>36</td> <td>程序正在 Windows Appliance Server 上运行.</td></tr></table> 我们需要其中的OS_WOW6432 小例子#include <Windows.h>
#include <Shlwapi.h>
int main()
{
BOOL bIs64;
// GetCurrentProcess()或INVALID_HANDLE_VALUE
IsWow64Process(INVALID_HANDLE_VALUE, &bIs64);
if (bIs64)
print("32bit Program runing under Wow64\n");
if (IsOS(OS_WOW6432))
print("32bit Program runing under Wow64\n");
return 0;
}
未完待续...如有错误,请提出指正!谢谢.
本文由 花心胡萝卜 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: 2017-07-16 at 03:21 am
|