【发布时间】:2017-05-15 19:56:19
【问题描述】:
我正在使用 Visual C++ 和 Windows API。 在 MSDN 上,每个函数的描述页面都有一个 requirements 部分,其中显示了支持的最小客户端(如下例所示;CreateFile 函数)。
我是否必须手动检查程序中的每个 Win32 函数以确定支持的最低客户端,还是有自动的方法?
【问题讨论】:
-
或者接受从 Windows XP 到更高版本的任何东西都是事实上的,因为 WinAPI 几乎不会改变。
-
您几乎需要知道您正在调用哪些函数。定义 WINVER 和相关条件是确保您不使用最低支持版本中不可用的功能的一种方法。在开始编码之前决定这一点,而不是在完成之后。测试也很重要。
-
@t0mm13b 不完全;我已经看到了以 Vista 或 8 作为最低客户端的几个功能。例如,GetActiveProcessorCount 函数来自 Windows 7。
-
我说大部分你有责任有条件地编译对 api 的调用以适应更新的 Windows。
-
你不能总是相信“最低支持客户端”所说的。 MSDN 上有大量关于该价值的 API,自 W2K/XP 以来就已经可用,但现在改用 Vista/Win7/8。这里的关键词是supported。当 Microsoft 放弃对给定 Windows 版本的支持时,MSDN 倾向于从大多数文档中删除该版本,包括大多数(不是全部)现有 API 的“最小支持客户端”字段。如果 API 文档有一个“添加到版本”类型的字段(即 假定 应该是“最小支持客户端”)并且不会随着时间而改变,那就太好了,但它们不会t
标签: c++ windows winapi requirements