Как убрать О программе (About), но при этом сохранить все остальное?

Александр85

Новичок
Здравствуйте!
Возможно ли убрать "О программе" (About) при нажатии правой клавишей мыши по окну установщика, но при этом сохранить всё остальное: размер окна, значок (иконку), свернуть-развернуть, закрыть и ФОРМАТИРОВАНИЕ ТЕКСТА, если используется RTF-файл?
Здесь у вас на форуме я нашёл варианты, но что-нибудь, да и страдает, например, если удается сохранить остальные кнопки, то форматирование текста пропадает... других вариантов нет?
 

Mickey1s

Ветеран
Модератор
@Александр85, нашел код для изменения этого меню, может быть подойдет

Код:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Code]
function AppendMenu(hMenu: HMENU; uFlags, uIDNewItem: UINT; lpNewItem: PChar): BOOL; external 'AppendMenuA@user32.dll stdcall';
function GetSystemMenu(hWnd: HWND; bRevert: BOOL): HMENU; external 'GetSystemMenu@user32.dll stdcall';
function MessageBox(hWnd: HWND; lpText, lpCaption: PAnsiChar; uType: LongWord): Integer;  external 'MessageBoxA@user32.dll stdcall';

const
WM_SYSCOMMAND = $0112;
MF_DELETE = $200;
MF_SEPARATOR = $800;
MF_BYPOSITION = $400;

var
Menu: TMenuItem;

procedure AppOnMessage(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.message = WM_SYSCOMMAND then
if Msg.wParam = Menu.Handle then
MessageBox(WizardForm.Handle,'тут ваш текст','О репаке:', MB_ICONINFORMATION);
end;

procedure InitializeWizard();
begin
// попытаемся удалить родное меню 'О программе'
if not AppendMenu(GetSystemMenu(Wizardform.Handle, True), MF_DELETE, 0, SetupMessage(msgAboutSetupMenuItem)) then
WizardForm.Position:= poScreenCenter;
// создаём сепаратор
AppendMenu(GetSystemMenu(Wizardform.Handle, False), MF_SEPARATOR, 0, '');
Menu:= TMenuItem.Create(WizardForm); // создаём ссылку на менюшку
// добавляем свой пункт в системное меню 'О программе'
AppendMenu(GetSystemMenu(Wizardform.Handle, False), MF_BYPOSITION, Menu.Handle, SetupMessage(msgAboutSetupMenuItem));
Application.OnMessage:= @AppOnMessage;
end;

а убрать можно вроде через код
Код:
WizardForm.Position:=poScreenCenter;
вопрос уже был - https://krinkels.org/threads/kak-ubrat-menju-o-programme-i-vse-ostalnoe-vkljuchaja-ikonku.2500/
 
Сверху