1

如何判断winapiEnumDisplaySettings失败?根据MSDN

如果函数失败,则返回值为零。

图形模式索引从零开始。要获取所有显示设备的图形模式的信息,请对 EnumDisplaySettings 进行一系列调用,如下所示: 第一次调用时将 iModeNum 设置为零,并为每个后续调用将 iModeNum 加一。继续调用该函数,直到返回值为零。

如何确定返回的零是失败标志还是模式不存在(iModeNum值太大)?

什么都没说GetLastError。似乎这个 winapi 没有在失败时设置最后一个错误。

4

1 回答 1

1

这是典型的 GDI api 调用,它们不设置 GetLastError 错误代码。您所拥有的只是“它不起作用”的返回值。

请注意,您必须从 iModeNum 从 0 开始。如果返回 FALSE,那么您可以放心地假设设备名称参数存在严重错误。继续增加 iModeNum 直到你得到 FALSE。

于 2013-01-07T17:17:38.747 回答