具体来说,当通过Windows控制面板显示设置增加DPI时,以下代码中的“结果”会发生变化吗?
UINT result = 0;
if(SystemParametersInfo(SPI_GETFOCUSBORDERHEIGHT, 0, &result, 0) != FALSE)
{
result = ?;
}
我自己无法检查的原因是我无法更改我正在处理的计算机上的DPI设置,因为管理员已禁用该选项。
答案 0 :(得分:0)
文档不清楚,但一般来说第3个参数仅在输入/输出,因为此处的Win32 API作为getter和setter都被重载。我不希望这会在SET上改变 但是在上面的GET调用上调用,是的,它会改变以指示当前值。你打算发一个SET电话吗?问题文本暗示您正在尝试设置值。
对于以下代码,值不应更改:
UINT result = REQUIRED_NEW_VALUE;
if(SystemParametersInfo(SPI_SETFOCUSBORDERHEIGHT, 0, &result, 0) != FALSE)
{
// result == the same as what was input
}
对于您发布的代码,result
将从0更改为当前配置的值:
UINT result = 0;
if(SystemParametersInfo(SPI_GETFOCUSBORDERHEIGHT, 0, &result, 0) != FALSE)
{
// result == the current configured value
}