NTDDI_VERSION,_WIN32_WINNT,WINVER,_WIN32_IE

2024-02-13 07:18
文章标签 version win32 ie winnt ntddi winver

本文主要是介绍NTDDI_VERSION,_WIN32_WINNT,WINVER,_WIN32_IE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在使用一些新版本的API,或者控件的新特性(比如新版的ComCtl32.dll)的时候,你可能会得到“error C2065: undeclared identifier.“这个错误。原因是这些功能是依赖于你的操作系统的版本的。而你的头文件中的定义并不是最新的。(对于MFC,就是stdafx.h)下面详细列举了每个Windows版本对应的 NTDDI_VERSION_WIN32_WINNTWINVER_WIN32_IE这些宏。

 

The following table describes the preferred macros in use by the Windows header files.

Minimum system required                Macros to define
Windows Server 2008                     NTDDI_VERSION >= NTDDI_LONGHORN
Windows Vista                                NTDDI_VERSION >= NTDDI_VISTA
Windows Server 2003 SP1                 NTDDI_VERSION >= NTDDI_WS03SP1
Windows Server 2003                     NTDDI_VERSION >= NTDDI_WS03
Windows XP SP2                          NTDDI_VERSION >= NTDDI_WINXPSP2
Windows XP SP1                          NTDDI_VERSION >= NTDDI_WINXPSP1
Windows XP                                  NTDDI_VERSION >= NTDDI_WINXP
Windows 2000 SP4                        NTDDI_VERSION >= NTDDI_WIN2KSP4
Windows 2000 SP3                        NTDDI_VERSION >= NTDDI_WIN2KSP3
Windows 2000 SP2                        NTDDI_VERSION >= NTDDI_WIN2KSP2
Windows 2000 SP1                        NTDDI_VERSION >= NTDDI_WIN2KSP1
Windows 2000                                NTDDI_VERSION >= NTDDI_WIN2K

The following table describes the legacy macros in use by the Windows header files.

Minimum system required                 Macros to define
Windows Server 2008                      _WIN32_WINNT>=0x0600
                                                         WINVER>=0x0600
 
Windows Vista                            _WIN32_WINNT>=0x0600
                                                     WINVER>=0x0600
 
Windows Server 2003                      _WIN32_WINNT>=0x0502
                                                          WINVER>=0x0502
 
Windows XP                               _WIN32_WINNT>=0x0501
                                                       WINVER>=0x0501
 
Windows 2000                             _WIN32_WINNT>=0x0500
                                                      WINVER>=0x0500
 
Windows NT 4.0                           _WIN32_WINNT>=0x0400
                                                       WINVER>=0x0400
 
Windows Me                               _WIN32_WINDOWS=0x0500
                                                       WINVER>=0x0500
 
Windows 98                               _WIN32_WINDOWS>=0x0410
                                                   WINVER>=0x0410
 
Windows 95                               _WIN32_WINDOWS>=0x0400
                                                    WINVER>=0x0400
 
Internet Explorer 7.0                        _WIN32_IE>=0x0700
Internet Explorer 6.0 SP2                 _WIN32_IE>=0x0603
Internet Explorer 6.0 SP1                 _WIN32_IE>=0x0601
Internet Explorer 6.0                        _WIN32_IE>=0x0600
Internet Explorer 5.5                         _WIN32_IE>=0x0550
Internet Explorer 5.01                        _WIN32_IE>=0x0501
Internet Explorer 5.0, 5.0a, 5.0b          _WIN32_IE>=0x0500
Internet Explorer 4.01                       _WIN32_IE>=0x0401
Internet Explorer 4.0                          _WIN32_IE>=0x0400
Internet Explorer 3.0, 3.01, 3.02        _WIN32_IE>=0x0300

这篇关于NTDDI_VERSION,_WIN32_WINNT,WINVER,_WIN32_IE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/704849

相关文章

提示:Decompiled.class file,bytecode version如何解决

《提示:Decompiled.classfile,bytecodeversion如何解决》在处理Decompiled.classfile和bytecodeversion问题时,通过修改Maven配... 目录问题原因总结问题1、提示:Decompiled .class file,China编程 bytecode

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号

步骤 1:安装 Version Number Plugin 登录 Jenkins 的管理界面。进入 “Manage Jenkins” -> “Manage Plugins”。在 “Available” 选项卡中搜索 “Version Number Plugin”。选中并安装插件,完成后可能需要重启 Jenkins。 步骤 2:配置版本号生成 打开项目配置页面。在下方找到 “Build Env

Win32函数调用约定(Calling Convention)

平常我们在C#中使用DllImportAttribute引入函数时,不指明函数调用约定(CallingConvention)这个参数,也可以正常调用。如FindWindow函数 [DllImport("user32.dll", EntryPoint="FindWindow", SetLastError = true)]public static extern IntPtr FindWindow

Learn ComputeShader 09 Night version lenses

这次将要制作一个类似夜视仪的效果 第一步就是要降低图像的分辨率, 这只需要将id.xy除上一个数字然后再乘上这个数字 可以根据下图理解,很明显通过这个操作在多个像素显示了相同的颜色,并且很多像素颜色被丢失了,自然就会有降低分辨率的效果 效果: 但是这样图像太锐利了,我们加入噪声去解决这个问题 [numthreads(8, 8, 1)]void CSMain(uint3 id

Unsupported major.minor version 52.0 错误解决方法

自己前些天的项目突然出现这个问题,经过仔细排查,发现有两个原因都会导致这个问题。 第一个就是POM文件中的dependency重复,如果使用的是maven导入,重复写入dependency就会出现该错误。 第二个是版本不匹配,即所引用的jar包太新,并不匹配你的jdk,因为我们正常用的都是jdk7,但是现在已经更新到jdk10了,好多最新版本最新版本的jar包都是基于最新的jdk编写,所以可以

#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version

昨天编译文件时出现了Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~的错误。   在网上很容易找到了解决的方案,公布如下:   对着你的项目点击右键,依次选择:属性、配置属性、常规,然后右边有个“项目默认值”,下面有个MFC的使用,选择“在共享 DLL 中使

控制台、win32 、mfc 、QT区别

控制台程序主要用于早期dos(disk operate system)编程。win32 在windows95系统以前,c++还未流行起来,面向c语言(面向过程)的窗口编程,c语言直接使用API进行开发,大多数API都需带入windows句柄作为参数。mfc基于win32添加了c++特性,基于面向对象编程,实际是对windows 大多API的封装库,但内容复杂混乱。包涵一个应用程序的框架,为减少