在包含windows.h
之前,您需要指定应用程序将支持的最低版本的Windows。这里的想法是,如果使用在指定的Windows版本中不可用的API函数,构建将失败。如果您需要更具体一些,你还可以定义NTDDI_VERSION
宏,例如,适用于Windows 10版本1607
#define _WIN32_WINNT _WIN32_WINNT_WIN7
:
您可以通过定义_WIN32_WINNT
宏,例如,对于Windows 7做到这一点:
#define _WIN32_WINNT _WIN32_WINNT_WIN10
#define NTDDI_VERSION NTDDI_WIN10_RS1
The documentation趋于落后,但你可以找到在sdkddkver.h
定义的SDK。
附录:
在某些情况下,例如,如果使用旧的或第三方版本的SDK,命名常量可能不工作,你将不得不求助于魔法值,例如,上面的例子将成为
#define _WIN32_WINNT 0x0601
和
#define _WIN32_WINNT 0x0A00
#define NTDDI_VERSION 0x0A000002
您可以通过obtai看这些了您可以从Microsoft获得sdkddkver.h
的最新版本,或者您可以尝试您所选择的搜索引擎。 :-)
就是这样!非常感谢!它像一个魅力一样工作! 想添加这个作为答案,所以我可以给你信贷? – Skepller