hgdagon
Новичок
Доброго времени суток. Вот, нашел этот код в топике FAQ по Inno Setup:
Я совру, конечно, если скажу, что понимаю, что тут происходит, но вкратце понимаю, что это какая-то переадрессация с MainForm на WizardForm.
А можно ли сделать то же самое проделать с MainForm.Caption на WizardForm.Caption?
----------------------------------------
В итоге у меня получилось так (Спасибио @sergey3695 ):
Код:
[Code]
function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetWindowLongW@user32.dll stdcall';
function GetWindowLong(Wnd: HWnd; Index: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall';
Function GetWindow (HWND: Longint; uCmd: cardinal): Longint;external 'GetWindow@user32.dll stdcall';
procedure InitializeWizard();
begin
SetWindowLong(WizardForm.Handle, -8,GetWindowLong(GetWindow(WizardForm.Handle, 4),-8));
end;
А можно ли сделать то же самое проделать с MainForm.Caption на WizardForm.Caption?
----------------------------------------
В итоге у меня получилось так (Спасибио @sergey3695 ):
Код:
[Code]
function SetWindowText(hWnd: Longint; Caption: String): Boolean; external 'SetWindowTextW@user32.dll stdcall';
function SetWindowLong(hWnd: Longint; Index: Integer; NewLong: Longint): Longint; external 'SetWindowLongW@user32.dll stdcall';
function GetWindowLong(hWnd: Longint; Index: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall';
Function GetWindow (hWnd: Longint; uCmd: Cardinal): Longint; external 'GetWindow@user32.dll stdcall';
<event('InitializeWizard')>
procedure InitializeWizardTBThumbFix();
begin
WizardForm.Caption := FmtMessage(CustomMessage('Installer'), ['{#SetupSetting("AppName")}']);
SetWindowText(GetWindowLong(MainForm.Handle, -8), WizardForm.Caption);
SetWindowLong(WizardForm.Handle, -8,GetWindowLong(GetWindow(WizardForm.Handle, 4),-8));
end;
Последнее редактирование: