在包含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