【发布时间】:2016-05-11 16:30:22
【问题描述】:
我首先在我的 Delphi XE7 应用程序中添加了对 SetProcessDpiAwareness windows 函数的调用(在动态加载 shcore DLL 之后)。我知道最好使用清单来设置 DPIAware 值,我已经将它单独工作并最终会使用它。但是在开发过程中我想使用命令行参数来设置 DPIAwareness 值,否则我必须重新构建应用程序才能更改此状态。
问题在于 SetProcessDpiAwareness 返回错误代码 $800700A0。 功能描述中没有记录,代码是什么意思?
啊我找到了,感谢看参数的答案,我已经声明了函数类型错误,我有:
TSetDPIFunc = 函数 (const PROCESS_DPI_AWARENESS) : HRESULT;标准调用;
但 PROCESS_DPI_AWARENESS 未定义为枚举。 更改为以下内容,现在可以正常工作了:
TSetDPIFunc = 函数 (const x: Integer) : HRESULT;标准调用;
【问题讨论】:
-
你打电话给
SetProcessDPIAwareness还是SetProcessDPIAware?标题暗示了前者。后者不返回任何错误代码,非零返回意味着函数已成功。请编辑问题以清除。 -
如果您确实调用了 SetProcessDPIAwareNESS,请告诉我们您使用哪个参数调用它!
-
函数是SetProcessDpiAwareness,对不起原帖中的错字。