我需要hwnd在我的自定义dll中使用它。
ExpandConstant('{hwnd}')
在卸载程序中不起作用...
答案 0 :(得分:3)
您可以从UninstallProgressForm
对象的Handle
属性中获取它。下面是一个示例代码,它使用Windows API函数更改卸载表单窗口的文本,该函数通过传递的句柄更改文本作为证据:
[Code]
#ifdef UNICODE
#define AW "W"
#else
#define AW "A"
#endif
function SetWindowText(hWnd: HWND; lpString: string): BOOL;
external 'SetWindowText{#AW}@user32.dll stdcall';
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usUninstall then
SetWindowText(UninstallProgressForm.Handle, 'Caption set by window handle');
end;