【发布时间】:2015-12-21 13:48:31
【问题描述】:
我正在用 fasm 编写应用程序,但在确定 Windows 8.1 及更高版本时遇到问题。 GetVersionEx 和 Version Helper 函数给了我 Windows 8。正如 MSDN 所说,我必须通过在 Visual Studio 中更改清单文件来定位我的应用程序,但我没有使用 VS,所以我该怎么办?
【问题讨论】:
-
见 Understanding Manifest Generation for C/C++ Programs 开始。使用 /MANIFESTINPUT (Specify Manifest Input) 链接器开关嵌入清单。如果您使用 FASM 链接目标代码,则必须使用
resdata manifest宏指令指示它嵌入资源。 -
MSDN 并没有说你必须在 VS 中这样做。
-
Windows 8.1 是
GetVersionEx()的行为发生变化的版本。您必须显示您的可执行文件,并在该清单中指定与特定操作系统版本的兼容性,以便GetVersionEx()正确报告这些版本号。这种行为变化在 MSDN 上有详细记录。