Ветеран
Сообщения: 1133
Благодарности: 581
|
Профиль
|
Отправить PM
| Цитировать
Цитата Winstan:
как можно убрать стандартное сообщение переде удаление и после? »
|
Написал пример, для Restools, можно и для обычной, но там надо использовать InnoCallBack.dll...
Пример
Код: 
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
[Code]
const
BM_CLICK = $00F5; // это обычный клик
WM_CLOSE = $0010; // понятно из названия
// Осуществляет поиск дочернего окна
function FindWindowEx(Parent, Child: HWND; ClassName, WindowName: PChar): HWND;
external 'FindWindowExA@user32.dll stdcall';
var
Timer: TTimer;
msg: string;
Wnd, WndEx: HWND;
count: Integer;
procedure OnTimer(Sender: TObject);
begin
Wnd:= FindWindowByWindowName(msg); // ищем сообщение
if Wnd > 0 then // если нашли
if count = 1 then // если первое уже находили, то
PostMessage(Wnd, WM_CLOSE, 0, 0) // просто закрываем
else
begin
WndEx:= FindWindowEx(Wnd, 0,'Button', SetupMessage(msgButtonYes)); // ищем кнопку
if WndEx > 0 then // если нашли
begin
PostMessage(WndEx, BM_CLICK, 0, 0); // нажимаем кнопку
count:= 1; // указываем что первое сообщение уже нашли
Timer.Enabled:= False; // отключаем таймер
end;
end;
end;
function InitializeUninstall(): Boolean;
begin
Result:= True;
// задаём переменной текст окна
msg:= SetupMessage(msgUninstallAppFullTitle);
StringChange(msg, '%1', '{#SetupSetting('AppName')}');
Timer:= TTimer.Create(nil);
with Timer do
begin
OnTimer:= @OnTimer;
Interval:= 1;
Enabled:= True;
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then Timer.Enabled:= True; // включаем таймер ещё раз
end;
|
-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.
Последний раз редактировалось Serega, 16-12-2009 в 23:34.
Причина: исправил отображение скрипта...
Отправлено: 23:12, 16-12-2009
| #683
|