我正在处理一个非常大的程序,该程序调用ChangeDisplaySettingsEx以更改显示的布局/分辨率。
我一直在遇到这些电话有时会工作的问题,有时候他们也没有,我无法确定导致失败的原因。
每当它失败时,我得到的返回码为-1,对应于DISP_CHANGE_FAILED,这显然不是很具描述性。
我想知道是否有更好的方法来调试通话结果,这样我就可以知道是什么导致它失败了?
答案 0 :(得分:0)
“我想知道是否有更好的方法来调试调用结果,这样我就可以知道是什么导致它失败了?”
您可以按照reference documentation:
中的建议,尝试事先查询实际显示功能说明
“为确保传递给 ChangeDisplaySettingsEx 的DEVMODE结构有效且仅包含显示驱动程序支持的值,请使用EnumDisplaySettings返回的DEVMODE功能“。
执行此操作后,您可以将返回的DEVMODE
与您尝试传递的内容进行比较。