我正在尝试GetProcessDPIAwareness
从 Windows 8.1 SDK 移植。但是,当我尝试启动此程序时,它会因错误而崩溃:
system exception (code 0xc0000409) at 0x77929990'
该功能存在于shcore.dll
. 我正在跑步Windows 8.1
,所以它应该可以工作,但它没有。
program Test;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils,
Winapi.Windows;
const
shcore = 'shcore.dll';
type
HANDLE = THandle;
PROCESS_DPI_AWARENESS = (
PROCESS_DPI_UNAWARE = 0,
PROCESS_SYSTEM_DPI_AWARE = 1,
PROCESS_PER_MONITOR_DPI_AWARE = 2
);
function GetProcessDPIAwareness(
{_In_} hprocess: HANDLE;
{_Out_} out value: PROCESS_DPI_AWARENESS
): HRESULT; WINAPI; external name 'GetProcessDPIAwareness';
var
DPI: PROCESS_DPI_AWARENESS;
begin
GetProcessDPIAwareness(0, DPI); // crashes here
ReadLn;
end.