Kotyarko_O 1,906 #243799 Posted January 14, 2015 А можно в деинсталляцию реализовать музыку? Типо такого "не удаляй меня!!:)" Можно, но на хрен оно нужно? Quote Share this post Link to post Short link Share on other sites
Andrew_Dark 8 #243803 Posted January 14, 2015 Можно, но на хрен оно нужно? У меня тот же вопрос Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #243808 Posted January 14, 2015 Можно, но на хрен оно нужно? что бы весело удаляли У меня тот же вопрос Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #243811 Posted January 14, 2015 (edited) что бы весело удаляли Делается по типу того, как и в визарде. Только в визарде используются: IniializeSetup, InitializeWizard, DeinitializeSetup; а в деинсталляции будут: InitializeUninstall, InitializeUninstallProgressForm, DeinitializeUninstall соответственно. Edited January 14, 2015 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #243813 Posted January 14, 2015 Делается по типу того, как и в визарде. Только в визарде используются: IniializeSetup, InitializeWizard, DeinitializeSetup; а в деинсталляции будут: InitializeUninstall, InitializeUninstallProgressForm, DeinitializeUninstall соответственно. понял Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #243814 Posted January 14, 2015 (edited) понял А ещё библиотеку проигрывания (вроде, с самой музыкой) надо будет хранить в папке с деинсталлятором. В общем, так же запихнуть эти файлы в деинсталлятор, как это делается с инсталлятором, не выйдет. Так что преимуществ у этой идеи нет. Одни недостатки (хранение лишних документов в папке - лишний мусор, никто и не оценит, никому и не интересно, лишний код), реализация того не стоит. Edited January 14, 2015 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #243818 Posted January 14, 2015 А ещё библиотеку проигрывания (вроде, с самой музыкой) надо будет хранить в папке с деинсталлятором. В общем, так же запихнуть эти файлы в деинсталлятор, как это делается с инсталлятором, не выйдет. Так что преимуществ у этой идеи нет. Одни недостатки (хранение лишних документов в папке - лишний мусор, никто и не оценит, никому и не интересно, лишний код), реализация того не стоит. я так ради интереса попробую :) Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #243820 Posted January 14, 2015 "Ради интереса" это делается копированием куска кода и заменой названий процедур - всё. Толку от этого? (с) Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #243823 Posted January 14, 2015 (edited) "Ради интереса" это делается копированием куска кода и заменой названий процедур - всё. Разве всё? Мне казалось, что потребуются внешние файлы (библиотека для проигрывания и сама музыка). Деинсталлятор не кушает секцию [Files] или я ошибаюсь? Edited January 14, 2015 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #243828 Posted January 14, 2015 Деинсталлятор не кушает секцию [Files] или я ошибаюсь? не кушает Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #243836 Posted January 14, 2015 Ладно-ладно, есть нюансы, но они минимальны. Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #243837 Posted January 14, 2015 Ладно-ладно, есть нюансы, но они минимальны. Ну никто и не говорит, что это трудно в реализации. Просто это не нужно никому. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #243935 Posted January 15, 2015 (edited) из за чего может быть? 40 сек пройдет и вылет Edited January 15, 2015 by ♫♫♫Dark_Knight_MiX♫♫♫ Quote Share this post Link to post Short link Share on other sites
-zav- 188 #244054 Posted January 15, 2015 (edited) Подскажите как впихнуть ссылку вида <a href="длииииииинная ссылка">ссылка</a> вот сюда: procedure AppOnMessage(var Msg: TMsg; var Handled: Boolean); begin if Msg.message = WM_SYSCOMMAND then if Msg.wParam = Menu.Handle then MessageBox(WizardForm.Handle, 'bla-bla-bla' +#13+ 'ССЫЛКА','О программе', MB_ICONINFORMATION); end; тут кому надо весь пример по Замена меню "О программе" [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: PAnsiChar): BOOL; external '[email protected] stdcall'; function GetSystemMenu(hWnd: HWND; bRevert: BOOL): HMENU; external '[email protected] stdcall'; function MessageBox(hWnd: HWND; lpText, lpCaption: PAnsiChar; uType: LongWord): Integer; external '[email protected] 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,'bla-bla-bla','О программе', 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; Edited January 15, 2015 by -zav- Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #244058 Posted January 15, 2015 (edited) Подскажите как впихнуть ссылку вида <a href="длииииииинная ссылка">ссылка</a> вот сюда: procedure AppOnMessage(var Msg: TMsg; var Handled: Boolean); begin if Msg.message = WM_SYSCOMMAND then if Msg.wParam = Menu.Handle then MessageBox(WizardForm.Handle, 'bla-bla-bla' +#13+ 'ССЫЛКА','О программе', MB_ICONINFORMATION); end; Никак. Внутри мсджбокса ссылку не вставишь, нужно создавать форму, похожую на мсджбокс и делать с ней всё, что хочется. из за чего может быть? 40 сек пройдет и вылет Из-за чего-угодно. Постоянно одно и то же время проходит до вылета? Edited January 15, 2015 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
-zav- 188 #244066 Posted January 15, 2015 Никак. Внутри мсджбокса ссылку не вставишь, нужно создавать форму, похожую на мсджбокс и делать с ней всё, что хочется. Пичалька. Для сообщалки "о программе" это будет слишком жирно разводить такую канитель ради ссылки... Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #244069 Posted January 15, 2015 @-zav-, я сделал, но у меня там немного другое назначение. Изначально делал для интереса, а потом решил оставить. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #244160 Posted January 15, 2015 Никак. Внутри мсджбокса ссылку не вставишь, нужно создавать форму, похожую на мсджбокс и делать с ней всё, что хочется. Из-за чего-угодно. Постоянно одно и то же время проходит до вылета? да Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #244161 Posted January 15, 2015 да Тогда F8 в помощь. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #244174 Posted January 15, 2015 Тогда F8 в помощь. уже нашел проблему Quote Share this post Link to post Short link Share on other sites