我正在使用Visual C ++和Windows API。 在MSDN上,每个功能的说明页面都有要求部分,其中显示支持的最低客户端(如下例所示; CreateFile功能)。
我是否必须手动检查程序中的每个Win32功能,以确定支持的最低客户端或是否有自动方式?
答案 0 :(得分:2)
理想情况下,您实际上会在您的程序支持的Windows版本上测试您的程序。如果直接链接到不存在的函数,则Windows将显示错误消息,程序将根本不运行。
如评论中所述,您无法完全信任MSDN上的版本信息。自Windows 95 / Win32S / NT3.x以来CreateFile
已经存在,但只有CreateFileA
实际上在非NT系统上运行,CreateFileW
只是失败,而未实现"错误代码。如果您的最低目标是Windows XP或更高版本,那么您不必担心9x / NT拆分,但您仍应测试您的软件以确保。
如果更改WINVER
,还需要小心,因为它可能会更改某些结构的大小,然后被旧版Windows上的某些功能拒绝。