MSDN通常仅将Windows XP列为“受支持的最低客户端”,可能是因为Windows 2000及更早版本已达到其生命周期的末尾。但是,我们的一些用户在Windows 2000机器上使用我们的软件,如果可以避免,我不想破坏这种兼容性。我是否可以了解Windows 2000中是否没有Windows API功能(不测试该系统上的每个功能)?
答案 0 :(得分:3)
理论上你可以#define NTDDI_VERSION NTDDI_WIN2K
,如果它依赖于更新的API,你的程序将无法编译,但不幸的是,这并不总是有效。
答案 1 :(得分:3)
Unfortunatley,微软已从最新的MSDN中的“支持的操作系统”列表中删除了早于XP的任何内容。如果你仍然有MSDN的旧版本(我有MSDN6a),那么他们仍会将真正的“支持的客户端”列回Windows 9x。
答案 2 :(得分:3)
“适用于Windows Server 2003 R2的Platform SDK”中的帮助包含返回Windows 95和Windows NT 3.1的平台信息。我最近下载了它,但目前我在microsoft.com上找不到它。我不知道这是否是一个暂时的故障,或者它是否已经消失了。
Windows Server 2003 SP1 Platform SDK中的帮助可能很相似,但我没有看过它。
答案 3 :(得分:1)
您可以在Win 2000系统中使用Dependency Walker打开二进制文件,它将以红色显示缺少的函数。当然,只要您静态地链接到它们,也许这可能就足够了 - 至少对初学者来说简单,容易和有效。
答案 4 :(得分:0)
MSDN通常也会提到较旧的操作系统。看到: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724211%28v=vs.85%29.aspx
如果没有提及Windows 2000,则必须对其进行测试,并且很可能无法使用它。您可以使用较旧的编译器(例如Visual Studio 6)来查看函数是否在其库中可用。如果它具有该功能,那么Windows 2000也应该有它。