Metro 2033

Скрипт Metro 2033 1.13

Нет прав для скачивания

Nemko

Дилетант
Модератор
Информация:
Автор скрипта: Kosako + я немного
Графика: Интернет + я
  • Is Done
  • Bass
  • Botva2
  • ISgsg.dll (Splesh)
  • Может заменить Autorun на диске
Описание:
Скрипт на основе скрипта Two Worlds II + ISDone 1.1 (http://krinkels.org/resources/two-worlds-ii-isdone.70/).
Background-min.png
 
Последнее редактирование:
пару замечаний
1. на обычной инно 5.5.5(u) нет сплэша. ошибка в описании процедуры ShowSplashScreen(p1:HWND;p2:PAnsiChar, второй параметр PAnsiChar, а не string
2. еще в LoadImage второй параметр пришлось править с PChar, на PAnsiChar
надо дописать, чтобы в анси и юникод версиях нормально запускалось
3. фрэйм и основная форма делятся на границе прозрачного/полупрозрачного (коряво, но думаю поймешь) пикселя, поэтому видна лесенка на стыке форм. добавь к фрэйму пару пикселей от основной картинки, тогда лесенки не должно быть видно. одна форма будет накрывать другую на пару пикселей. непрозрачных
4. в качестве придирки. кнопки на форме выхода из инсталла не стилизованы
5. ну, чтобы совсем добить. красные кнопки на красном фоне. не сразу заметил их :)


ЗЫ а так красиво получилось
 
Пользователь Nemko обновил ресурс Metro 2033 новой записью:

Metro 2033 1.11

  • Добавил тип A и W (AnsiChar\PAnsiChar,)
  • За подсказку решения проблемы с Frame спасибо South
  • Устранил проблему когда при нажатии на кнопку "Назад", Frame накладывался поверх окна установки
  • Стилизовать кнопки мне оказалось не по силе :( (чтобы все работало с botva2 и isdone)
  • Красные кнопки остались красными, но фон за ними стал менее контрастней

Узнать больше об этом обновлении...
 
Может кто-то знает как решить проблему данного скрипта на Windows 8 ? Я буду очень благодарен за помощь.
 
Дома пробовал на компьютере Windows 10 x64 скрипт работает прекрасно.
На нетбуке Windows 10 x64 Корпоратив тоже всё прекрасно
 
Nemko,
После добавления своего шрифта и завершения установки, желательно выгружать его из системы пользователя, да и вообще, "подтирать" за собой следы ...
Код:
procedure DeInitializeSetup();
begin
if IsCustomFontInstalled then
if RemoveFontResource(PAnsiChar(ExpandConstant('{tmp}')+'\{#Font}')) then SendMessage(HWND_BROADCAST,$1D,0,0);
end;
 
После добавления своего шрифта и завершения установки, желательно выгружать его из системы пользователя, да и вообще, "подтирать" за собой следы ...
SBalykov, вы правы по поводу следов, но вроде в процедуре WFDeInit уже есть эти строки.
 
Последнее редактирование:
SBalykov, ты прав по поводу следов, но вроде в процедуре WFDeInit уже есть эти строки.
Есть то оно есть, вот только не совсем, как бы это выразиться, корректо ...
Script.iss:
Код:
procedure DeinitializeSetup;
begin
WFDeInit;
gdipShutDown;
end;
Window.iss:
Код:
procedure WFDeInit;
begin
BASS_Stop;
BASS_Free;
BtnFont.Free;
Frame.Free;
WizardForm.Free;
if IsCustomFontInstalled then
if RemoveFontResource(ExpandConstant('{tmp}')+'\{#Font}') then SendMessage($FFFF,$1D,0,0);
end;
И зачем лишние библиотеки в Description.iss:
Код:
function WndProcCallBack(P:TCallbackProc;ParamCount:integer):LongWord; external 'wrapcallbackaddr@{tmp}\CallbackCtrl.dll stdcall delayload';
Когда вполне можно обойтись и без нее.
Frame.iss:
Код:
procedure CreateFrame;
begin
Frame:=TForm.Create(nil);;
Frame.BorderStyle:=bsNone;
CreateFormFromImage(Frame.Handle,ExpandConstant('{tmp}\frame.png'));
with TLabel.Create(Frame) do begin
Parent:= Frame;
AutoSize:= False;
Left:=0; // настройка frame по левому краю 126
Top:=0; // настройка frame по верхнему краю 45
Width:= Frame.CLientWidth;
Height:= Frame.ClientHeight;
OnMouseDown:= @FrameMouseDown;
end;
WizardForm.Left:= Frame.Left+0; // настройка frame по левому краю +126
WizardForm.Top:= Frame.Top+0; // настройка frame по верхнему краю +45

WFOldProc:= SetWindowLong(WizardForm.Handle,-4,CallbackAddr('WFProc')); // WndProcCallBack(@WFProc,4));
// Frame.Hide;
end;
Шибко в дебри не лез, так как не люблю я эти модульные конструкции, но на вскидку - мусора хватает ...
 
Последнее редактирование:
Пользователь Nemko обновил ресурс Metro 2033 новой записью:

Metro 2033 1.12

  • Оптимизирован код (спасибо SBalykov)
  • Добавлены стилизованные кнопки и поддержка botva2 для меню выхода
  • Налажена работа закрытие формы (спасибо примеру YURSHAT), откат ISDone при отмене (спасибо примеру vint56)
  • Доработана маска и тень (Frame)
  • Установлены границы для DirEdit (их не было :D)

Узнать больше об этом обновлении...
 
Последнее редактирование:
У Вас есть идеи, чёт я приуныл не знаю пока в чём проблема :pardon:.
У меня нормально все Windows 7 Ultimate
 
А что если попробовать добавить это
Код:
procedure WizardFormOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
    ReleaseCapture;
    SendMessage(WizardForm.Handle,$0112,$F012,0);
    ImgApplyChanges(WizardForm.Handle);
end;
 
Назад
Сверху