我有一个较旧的应用程序,要在Windows 7上使用DPI虚拟化(也称为模糊表格缩放)。为了在示例项目中尝试此操作,我执行了以下操作:
Monitor.PixelsPerInch
的结果读取120
我尝试了一些操作,但是在这里无法获得96
dpi的结果:
<dpiAware>false</dpiAware>
我还认为SetProcessDPIAware
在VCL
中被称为“某处”。我发现System.win.HighDpi
的初始化块中包含SetProcessDPIAware
,但是我的最小样本中不包含此单元。
示例清单(设置dpiAware
似乎被忽略了):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">False</dpiAware>
</windowsSettings>
</application>
</assembly>