Windows XP和Windows 98中的Microsoft Windows SDK文件夹在哪里?

3 winapi windows-xp visual-studio-2010

我必须Microsoft SDKc#代码中使用目录路径。在Win 7我可以通过以下行(硬编码)轻松获得它:

string path = Path.GetFullPath("C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Bin");
Run Code Online (Sandbox Code Playgroud)

是否有任何种类的路径中的win xp还是win 98?其中是netsh.exe存在于xp98

Fra*_*yne 5

请注意,在您阅读本文时,以下所说的内容可能已经更改。Windows SDK的结构和内容已经随着时间而发展,并且可能会继续发展。

Windows SDK以它们所针对的Windows版本命名。例如,当前当前的SDK名为Windows 10版本1803的Windows 10 SDK。它针对Windows 10版本1803,也称为Windows 10 April 2018 Update。该Windows版本的版本号是10.0.17134

Windows SDK的默认安装位置\Program Files\Windows Kits\10在32位系统和\Program Files (x86)\Windows Kits\1064位系统上。

在安装文件夹中有许多子文件夹-例如includelibbin等里面的每子文件夹命名为Windows发布的版本号等子文件夹的目标-例如10.0.17134.010.0.16299.0等等。

因此,对于像mlgen.exe在分配了字母C的磁盘驱动器的系统上那样的工具,其完整路径C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x86用于32位代码文件和C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x6464位代码文件。

从旧的SDK安装看来,针对Windows 10周年版(版本10.0.4393)的SDK 并未使用“ Windows版本号”子文件夹。

以前的SDK以Windows 8 \Program Files (x86)\Windows Kits\8.0和Windows 8.1为目标\Program Files (x86)\Windows Kits\8.1。那些早期版本的SDK也不使用“ Windows版本号”子文件夹(至少我没有使用的子文件夹)。

追溯到过去,SDK通常用于安装到名为Microsoft SDKs而不是的文件夹中Windows Kits。例如,默认情况下将Windows 7(7.1)Microsoft Windows SDK安装到\Program Files\Microsoft SDKs\Windows\v7.1\或中\Program Files (x86)\Microsoft SDKs\Windows\v7.1\

当然,执行安装的任何人都可以选择使用其他安装文件夹。

理想情况下,SDK路径不应在任何程序中进行硬编码,因为它可能因不同的SDK版本和不同的系统而改变。

问题如何以编程方式检测和定位Windows 10 SDK?提供了一些替代方案。