我想使用aero表单构建自定义设置,但我不知道如何启动它。 有没有办法在创建设置时使用DWM API?
function dwm(Wnd: HWnd; cxLeftWidth, cxRightWidth, cyTopHeight, cyBottomHeight: integer ): Longint; external 'DwmExtendFrameIntoClientArea@dwmapi.dll stdcall';
答案 0 :(得分:2)
DWM API是一种原生API,因此您可以使用DLL Import method。
访问它然后,您可以在脚本代码中调用API函数。
但我建议不要这样做。由于DWM仅适用于Vista或更高版本,因此可以通过停止NT服务来禁用它。它可能会阻止您的安装在其设计用于处理的计算机上运行。
现在您发布了代码......
您发布的API的原始声明。
HRESULT WINAPI DwmExtendFrameIntoClientArea(
HWND hWnd,
__in const MARGINS *pMarInset
);
我最好的猜测是它看起来应该是这样的。
type
Margins = record
cxLeftWidth : Integer;
cxRightWidth: Integer;
cyTopHeight: Integer;
cyBottomHeight: Integer;
end;
function DwmExtendFrameIntoClientArea(Wnd: HWnd;
var pMarInset : MARGINS) :
HRESULT;
external 'DwmExtendFrameIntoClientArea@dwmapi.dll cdecl';
答案 1 :(得分:1)
答案 2 :(得分:0)
我不会在安装程序中使用这样的方法,但是如果你确实需要它,我会在Delphi中开发它,用简单的API将它包装在DLL中,并从InnoSetup调用该DLL。