[英]How to get installed Windows SDK version?
如何確定我的計算機上安裝了哪個版本的Windows SDK
?
我在問,如果尚未安裝最新版本,我可以安裝它。
至少在英語語言環境中:
dir "%ProgramFiles%\Microsoft SDKs\Windows"
應該管用。 很可能會安裝多個版本,對於一個構建來說正確的版本只能由該項目指定。
如果您需要在編譯時確定正在使用的 Windows SDK 的主要操作系統版本,那么您可以使用在 ntverp.h 中定義的 VER_PRODUCTBUILD 宏。 例如:
#include <ntverp.h>
#if VER_PRODUCTBUILD > 9600
// Windows 10+ SDK code goes here
#else
// Windows 8.1- SDK code goes here
#endif
在大多數情況下,這不是必需的,因為產品應該設計為使用特定平台 SDK 構建。 但對於一些大型產品,可能需要支持多平台 SDK。 這在從一個遷移到另一個時特別有用。 如果頭文件中存在錯誤(例如 bthledef.h 的 Windows 8.1 SDK 版本中的虛假“#pragma pop”),則您可能需要解決此錯誤,但在使用 Windows 10 SDK 時不包括解決方法或更高。 如果未安裝所需的 SDK 版本,此技術還可用於提供有用的錯誤消息。
請注意,VER_PRODUCTBUILD 僅提供主要操作系統版本信息,例如 8.1 與 10。這意味着 VER_PRODUCTBUILD 越來越無用,因為它不會隨着 Windows 10 的更新而改變。因此,更有可能查看的是 sdkddkver.h 和NTDDI_WIN10_* 宏。 從 Windows 10.0.17763.0 SDK NTDDI_WIN10_RS5 開始,現已定義。 所以,寫這樣的代碼:
#include <sdkddkver.h>
#if !defined(NTDDI_WIN10_RS5)
#error Windows 10.0.17763.0 SDK is required
#endif
對於最新版本,請在此注冊表項下檢查:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits
或以下:
C:\Program Files (x86)\Microsoft SDKs\Windows Kits
如果您安裝了 Visual Studio,您可以打開一個 Visual Studio 解決方案(或自己創建一個),然后在解決方案資源管理器中右鍵單擊該解決方案,並選擇Retarget Solution
。 該菜單應為您提供可用 Windows SDK 版本的下拉列表。
查看控制面板/卸載程序。 “Windows 軟件開發工具包 - Windows XXXX”(其中 XXXX 是版本)。 它將列在您機器上安裝的所有其他軟件中。
如果您安裝了 vs2019(或任何其他版本),您可以在“桌面開發部分”的工作負載下查看 Windows SDK 版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.