WinAPI函数GetDpiForMonitor没有Delphi 7的头文件翻译并且在网上搜索我找不到。
如果有人有示例代码显示如何使用Delphi 7中的这个WinAPI函数,那将会有很大帮助。
答案 0 :(得分:0)
以下是如何动态加载DLL并在Delphi 7中调用函数:
Type
TMONITOR_DPI_TYPE = (
MDT_EFFECTIVE_DPI {= 0},
MDT_ANGULAR_DPI {= 1},
MDT_RAW_DPI {= 2},
MDT_DEFAULT {= MDT_EFFECTIVE_DPI });
var
dpiX : UINT;
dpiY : UINT;
ErrCode : HResult;
hShcore : THandle;
GetDpiForMonitor : function(monitor: HMONITOR; dpiType: TMONITOR_DPI_TYPE; var dpi, dpiY: UINT): HRESULT; stdcall;
begin
hShcore := GetModuleHandle('Shcore');
If hShcore <> 0 then GetDpiForMonitor := GetProcAddress(hShcore,'GetDpiForMonitor');
If @GetDpiForMonitor <> nil then
ErrCode := GetDpiForMonitor(Monitor.Handle,MDT_EFFECTIVE_DPI,dpiX,dpiY);
end;