Leserg
Участник
Какой смысл добавлять пустой файл?но если файл пустой, то
По факту в ресурсы записывается НЕ файл, а данные из него (содержимое файла). Если же данных нет, то и записывать нечего.
Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Какой смысл добавлять пустой файл?но если файл пустой, то
чисто забыл в нем написатьпустой файл
Crachlow, я не понял, это хорошо или плохо?Обнаружил одну характерную особенность, в процедуре ExtractTemporaryFileEx, раньше можно было писать ExtractTemporaryFileEx('file.exe',ExpandConstant('{src}')) сейчас если не указать ,ExpandConstant('{src}\'), то распаковка будет на уровень выше
Че из-за него то делать. Потом если чет еще выявится, можно будет поправить.это хорошо или плохо
Ну как бы просто неожиданно)). Не сразу понял куда файл распаковался))хорошо или плохо
В Inno Setup 6 функция CenterInsideControl стала FlipSizeAndCenterIfNeeded.А можно CenterInsideControl вернуть, или добавить, в 633?
БлвгодарюВ Inno Setup 6 функция CenterInsideControl стала FlipSizeAndCenterIfNeeded.
[Setup]
AppName=Test
AppVerName=Test
OutputBaseFilename=Test
DefaultDirName=Test
OutputDir=userdocs:..\desktop
[Code]
function CreateRoundRectRgn(X1, Y1, X2, Y2, W, H: Integer): Integer; external 'CreateRoundRectRgn@gdi32.dll stdcall';
function SetWindowRgn(bWnd: HWND; bRgn: Integer; bRedraw: Boolean): Integer; external 'SetWindowRgn@user32.dll stdcall';
var Label1:TLabel;
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin Confirm:=False; end;
procedure MinimizeClick(Sender: TObject);begin SendMessage(WizardForm.Handle, $0112, 61472, 0); end;
procedure InitializeWizard;
begin
WizardForm.Position:=poDesktopCenter;
WizardForm.BorderStyle:=bsNone;
WizardForm.ClientWidth:=ScaleX(600);
WizardForm.ClientHeight:=ScaleY(400);
WizardForm.OuterNotebook.Hide;
WizardForm.Color:=$000000;
SetWindowRgn(WizardForm.Handle, CreateRoundRectRgn(0, 0, WizardForm.Width, WizardForm.Height, 0, 0), True);
Label1:=TLabel.Create(WizardForm);
Label1.Parent:=WizardForm;
Label1.AutoSize:=False;
Label1.Alignment:=taCenter;
Label1.SetBounds(ScaleX(275), ScaleY(-10), ScaleX(50), ScaleY(20));
Label1.Caption:='—'
Label1.Font.Size:=20;
Label1.Font.Color:=$7280FA;
Label1.OnClick:=@MinimizeClick;
end;
Весь функционал, связанный с кастомной тенью, был удалён. Причины описаны в этом сообщении.(WizardFormShadow.ShadowOn := False) - не работает.
Если речь про это:Хотел спросить можно ли убрать эту белую рамку вокруг формы, в версиях 6.3.3 и выше?
#if !defined(IS_ENHANCED) || (VER < 0x06030300)
#pragma error "Для компиляции этого сценария требуется расширенная \
редакция Inno Setup 6.3.3 или выше"
#endif
[Setup]
AppName=Test
AppVerName=Test
OutputBaseFilename=Test
DefaultDirName=Test
OutputDir=.
; Отключаем скругление углов
SetupRoundedCorner=off
[Code]
// Объявляем константы
const
DWMWA_BORDER_COLOR = 34;
S_OK = 0;
// Объявляем переменные
var
Label1: TLabel;
// Объявляем вызов внешней функции установки DWM-атрибута
// Будет работать только на Windows 10 версии 1809 (build 17763) и выше
function DwmSetWindowAttribute(hwnd: HWND; dwAttribute: DWORD; var pvAttribute: DWORD; cbAttribute: DWORD): HRESULT;
external 'DwmSetWindowAttribute@dwmapi.dll stdcall';
// Установка цвета
function SetWindowBorderColor(Wnd: HWND; Color: DWORD): Boolean;
var
ColorVar: DWORD;
begin
ColorVar := Color;
Result := DwmSetWindowAttribute(Wnd, DWMWA_BORDER_COLOR, ColorVar, SizeOf(ColorVar)) = S_OK;
end;
// Пользовательские функции
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin Confirm:=False; end;
procedure MinimizeClick(Sender: TObject);begin SendMessage(WizardForm.Handle, $0112, 61472, 0); end;
procedure InitializeWizard;
begin
// Задаем цвет рамки DWM
SetWindowBorderColor(WizardForm.Handle, $000000);
// Устанавливаем желамые свойства окна
WizardForm.BorderStyle:=bsNone;
WizardForm.ClientWidth:=ScaleX(600);
WizardForm.ClientHeight:=ScaleY(400);
WizardForm.OuterNotebook.Hide;
WizardForm.Color:=$000000;
// Создаем элемент TLabel
Label1:=TLabel.Create(WizardForm);
Label1.Parent:=WizardForm;
Label1.AutoSize:=False;
Label1.Alignment:=taCenter;
Label1.SetBounds(ScaleX(275), ScaleY(-10), ScaleX(50), ScaleY(20));
Label1.Caption:='—'
Label1.Font.Size:=20;
Label1.Font.Color:=$7280FA;
Label1.OnClick:=@MinimizeClick;
end;
(А саму рамку рисует DWM Api Windows (DwmExtendFrameIntoClientArea).
[Setup]
AppName=Test
AppVerName=Test
OutputBaseFilename=Test
DefaultDirName=Test
OutputDir=userdocs:..\desktop
Uninstallable=no
[Code]
var WizardPanel:TPanel;
procedure InitializeWizard;
begin
WizardForm.Position:=poDesktopCenter;
WizardForm.BorderStyle:=bsNone;
WizardForm.ClientWidth:=ScaleX(600);
WizardForm.ClientHeight:=ScaleY(400);
WizardForm.OuterNotebook.Hide;
WizardForm.DoubleBuffered:=True;
WizardPanel:=TPanel.Create(WizardForm);
WizardPanel.Parent:=WizardForm;
WizardPanel.BevelOuter:=bvNone;
WizardPanel.SetBounds(ScaleX(0), ScaleY(0), ScaleX(600), ScaleY(400));
WizardPanel.ParentBackground:=False;
WizardPanel.Color:=$000000;
end;