2

カスタム dll で使用するには、その hwnd が必要です。
ExpandConstant('{hwnd}')アンインストーラーで動かない…

4

1 に答える 1

3

UninstallProgressFormオブジェクトのHandleプロパティから簡単に取得できます。渡されたハンドルによってテキストを変更するWindowsAPI関数を証明として使用して、アンインストールフォームウィンドウのテキストを変更するサンプルコードを次に示します。

[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;
于 2013-01-21T12:43:25.897 に答える