AtotIK Posted September 12, 2017 Share Posted September 12, 2017 Ребята есть ли у кого то нормальный рабочий скрипт что бы можно было добавить мелодию Не надо так делать. Поверь мне, пожалуйста. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 12, 2017 Share Posted September 12, 2017 Не надо так делать. Поверь мне, пожалуйста. немного тебя не понял. объясни пожалуйста . @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted September 13, 2017 Share Posted September 13, 2017 немного тебя не понял. объясни пожалуйста . Не надо вставлять музыку в инсталлятор. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 13, 2017 Share Posted September 13, 2017 Не надо вставлять музыку в инсталлятор. по чему Ребята подскажите как убрать этот серый квадратик в левом углу где должна картинка быть. как только эта страница открывается он есть, как только я проведу просто о меню или в самом модпаке он пропадает. через редактор форм не вижу не каких доп функций что бы там накладывались. может кто знает как решить эту проблемку @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 13, 2017 Share Posted September 13, 2017 вот скрипт может кто то поможет и уберет лишнее P.S.Enot.zip @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 14, 2017 Share Posted September 14, 2017 хрен сним уже с этим квадратом хоть подскажите как сделать что бы постоянно картинка была на фоне а не пустое окно и лишь при наведении что бы появлялась. а была нормально когда страница открыта. потому как на второй странице она сразу появляется а на первой по мимо серого квадратика еще и пустая прозрачная рамка. не могу понять как картинку подцепить что бы постоянно там была как заглавная @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 15, 2017 Share Posted September 15, 2017 а в ответ тишина @ Quote Link to comment Short link Share on other sites More sharing options...
Lom Posted September 15, 2017 Share Posted September 15, 2017 (edited) [Setup] DefaultDirName={code:WotDirNameRU} [Code] function WotDirNameRU(S:String): String; // ключь для основного клиента {1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1 var InsPath: String; er: boolean; myFile:String; begin Result:=ExpandConstant('C:\Games\World_of_Tanks\'); //если ключа нет то будем ставить сюда er := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath); if er and (InsPath<>'') then //если ключ существует и там что-то записано begin Result := InsPath; end; end; //""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""// function WotDirNameCT(S:String): String; // ключь для тестового клиента {1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1 var InsPath: String; er: boolean; myFile:String; begin Result:=ExpandConstant('C:\Games\World_of_Tanks_CT\'); //если ключа нет то будем ставить сюда er := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', InsPath); if er and (InsPath<>'') then //если ключ существует и там что-то записано begin Result := InsPath; end; end; пока тишина напишу и свой вопрос ))) для автоматического поиска игры по реестру этот код до сих пор рабочий? проверил но у меня что то не заводится он... Edited September 15, 2017 by ЛОМ @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted September 15, 2017 Share Posted September 15, 2017 пока тишина напишу и свой вопрос ))) для автоматического поиска игры по реестру этот код до сих пор рабочий? проверил но у меня что то не заводится он... а че ему ломатьсяа в ответ тишинатишина потому что все это есть в теме, просто надо искать @ Quote Link to comment Short link Share on other sites More sharing options...
Lom Posted September 15, 2017 Share Posted September 15, 2017 (edited) а че ему ломаться ну да вроде не девочка просто он всё на диск С ставит и ставит. игру заново перекачал после того как винду переустановил. и вроде должно было путь найти. короче хз.. нет так нет)))) P/S... а вот эти сработали... https://koreanrandom.com/forum/topic/9050-создание-инсталляторов-для-модпаков-на-базе-inno-setup/?p=266742 https://koreanrandom.com/forum/topic/9050-создание-инсталляторов-для-модпаков-на-базе-inno-setup/?p=266708 Edited September 15, 2017 by ЛОМ @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 15, 2017 Share Posted September 15, 2017 (edited) а че ему ломаться тишина потому что все это есть в теме, просто надо искать да искал но то что находил не прокатывало у меня. или я не понимаю. я не когда раньше не собирал модпаки два раза перечитал по 240 страниц. если бы сам мог бы то не просил о помощи. щас вот так как то методом тыка и эксперементов подставил кое что от себя подставил а точнее добавил и картинка появилась постоянно стоит . теперь проблема стала в другом . на выбор меню нажимаю картинка меняется на ту которая прописана к компоненту но когда я убираю курсор опять пустое окно становится . то оно было пустым и при первом переходе на страницу теперь сделал при переходе есть но только как я мышкой проведу по компоненту в меню так уже больше обратно не возвращается. а надо что бы обратно возвращалась. код я свой приложил. если знаешь что там не так помоги пожалуйста . у меня еще подключена вторая страница там все хорошо работает но там и по другому все прописано там я все так делал AddCompDescription(0, ('CompDesc1'), 'CompDescImg0.bmp'); ну и код там другой, на первой странице он что то у меня не работает . возможно у меня команды нет какойто или она не так подключена или что то лишнее . не знаю уже голова разрывается а отдачи нет . const UNDEF_INDEX = -777;function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall';var InfoPic: TBitmapImage;// LastIndex: Integer; TempPath: String;procedure ShowPicHint(const PicFilePath: String);var pt: TPoint;begin if not GetCursorPos(pt) then Exit; InfoPic.Bitmap.LoadFromFile(PicFilePath); InfoPic.SetBounds(ScaleX(400), ScaleY(30), ScaleX(400), ScaleY(285)); InfoPic.Show;end;procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);var UndefPic: String;begin if Index = -1 then Exit; if Index = LastIndex then Exit; try case TNewCheckListBox(Sender).ItemCaption[index] of 'Маркеры': UndefPic := 'Markers.bmp'; 'XVM': UndefPic := 'XVM.bmp'; 'Дополнения XVM': UndefPic := 'Дополнения XVM.bmp'; 'Карусель танков в три ряда': UndefPic := 'tankIconsCam.bmp'; 'Панели счета WGL XVM': UndefPic := 'Панели счета WGL XVM.bmp'; 'Карусель': UndefPic := 'Carousel.bmp'; 'Карусель танков прозрачная P.S.Enot': UndefPic := 'Карусель танков прозрачная P.S.Enot.bmp'; 'Карусель танков от игрока НЕКРОМАНТ': UndefPic := 'Карусель танков от игрока НЕКРОМАНТ.bmp'; 'Дамаг панель Заяц с ремонтом по CTRL': UndefPic := 'Дамаг панель Заяц с ремонтом по CTRL.bmp'; 'Панель счета WGL стиль Green': UndefPic := 'Панель счета WGL стиль Green.bmp'; 'Панель счета WGL Green': UndefPic := 'Панель счета WGL Green.bmp'; 'Медали в бою': UndefPic := 'ProAchivments.bmp'; 'Дамаг лог от игрока НЕКРОМАНТ': UndefPic := 'Дамаг лог от игрока НЕКРОМАНТ.bmp'; else begin LastIndex := UNDEF_INDEX; InfoPic.Hide; Exit; end; end; if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic); ShowPicHint(TempPath + UndefPic); finally LastIndex := Index; end;end;procedure CompOnMouseLeave(Sender: TObject);begin InfoPic.Hide; LastIndex := -1;end;procedure InitInfo();begin WizardForm.TypesCombo.Hide; WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(30), ScaleX(400), ScaleY(285)); WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave; WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove; TempPath := AddBackslash(ExpandConstant('{tmp}')); LastIndex := UNDEF_INDEX; with TBevel.Create(WizardForm) do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(400), ScaleY(30), ScaleX(400), ScaleY(285)); //430 Shape := bsFrame; end; InfoPic := TBitmapImage.Create(WizardForm) with InfoPic do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(400), ScaleY(30), ScaleX(400), ScaleY(285)); Stretch := True; ExtractTemporaryFile('WizardForm.BitmapImage1.bmp'); Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage1.bmp')); //AutoSize := True; end;end; Edited September 15, 2017 by P.S.Enot @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 16, 2017 Share Posted September 16, 2017 ShowPicHint - процедура создания всплывающих подсказок с картинками CompOnItemMouseMove - процедура проверки наведена ли мышь на компонент, если да то вызывается процедура ShowPicHint ShowPicHint(TempPath + UndefPic); CompOnMouseLeave - процедура проверки действия - убрали ли мы мышь с компонента, если убран курсор - подсказки скрываются. PicForm.Hide; В InitInfo - создается форма для картинок и подгружаются все созданные процедуры с привязками к событиям WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove; WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave; Все в секции: [code] За исключением procedure InitializeWizard(); Она думаю уже должна быть у вас в своем скрипте, в него нужно добавить загрузку процедуры: InitInfo(); Ну и подстроить под себя: case TNewCheckListBox(Sender).ItemCaption[Index] of В соответствие со своим списком устанавливаемых компонентов. а какая команда или как прописать что бы когда курсор с меню убирался и ни важно куда его направишь оставалась любая последняя картинка из меню а не исчезала . то есть что бы постоянна какая то картинка но была ???? @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted September 16, 2017 Share Posted September 16, 2017 то есть что бы постоянна какая то картинка но была ???? procedure CompOnMouseLeave(Sender: TObject); begin //PicForm.Hide; LastIndex := -1; end; @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 16, 2017 Share Posted September 16, 2017 (edited) procedure CompOnMouseLeave(Sender: TObject); begin //PicForm.Hide; LastIndex := -1; end; не помогает. серавно когда хоть раз по меню проводишь обратно не возвращается показывает только то что в меню а как только с меню убираю пустое окно остается вод код посмотри пожалуйста может там что то не так у меня 'Открыть ' constUNDEF_INDEX = -777;function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall';varInfoPic: TBitmapImage;// LastIndex: Integer;TempPath: String;procedure ShowPicHint(const PicFilePath: String);varpt: TPoint;beginif not GetCursorPos(pt) then Exit;InfoPic.Bitmap.LoadFromFile(PicFilePath);InfoPic.SetBounds(ScaleX(400), ScaleY(30), ScaleX(400), ScaleY(285));InfoPic.Show;end;procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);varUndefPic: String;beginif Index = -1 then Exit;if Index = LastIndex then Exit;trycase TNewCheckListBox(Sender).ItemCaption[index] of'Маркеры': UndefPic := 'Markers.bmp';'XVM': UndefPic := 'XVM.bmp';'Дополнения XVM': UndefPic := 'Дополнения XVM.bmp';'Карусель танков в три ряда': UndefPic := 'tankIconsCam.bmp';'Панели счета WGL XVM': UndefPic := 'Панели счета WGL XVM.bmp';'Карусель': UndefPic := 'Carousel.bmp';'Карусель танков прозрачная P.S.Enot': UndefPic := 'Карусель танков прозрачная P.S.Enot.bmp';'Карусель танков от игрока НЕКРОМАНТ': UndefPic := 'Карусель танков от игрока НЕКРОМАНТ.bmp';'Дамаг панель Заяц с ремонтом по CTRL': UndefPic := 'Дамаг панель Заяц с ремонтом по CTRL.bmp';'Панель счета WGL стиль Green': UndefPic := 'Панель счета WGL стиль Green.bmp';'Панель счета WGL Green': UndefPic := 'Панель счета WGL Green.bmp';'Медали в бою': UndefPic := 'ProAchivments.bmp';'Дамаг лог от игрока НЕКРОМАНТ': UndefPic := 'Дамаг лог от игрока НЕКРОМАНТ.bmp'; elsebeginLastIndex := UNDEF_INDEX;InfoPic.Hide;Exit;end;end;if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic);ShowPicHint(TempPath + UndefPic);finallyLastIndex := Index;end;end;procedure CompOnMouseLeave(Sender: TObject);beginInfoPic.Hide;LastIndex := -1;end; procedure InitInfo();beginExtractTemporaryFile('WizardForm.BitmapImage1.bmp');WizardForm.SelectComponentsLabel.Hide;WizardForm.SelectComponentsPage;WizardForm.TypesCombo.Hide;WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(30), ScaleX(400), ScaleY(285));WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove;WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave;TempPath := AddBackslash(ExpandConstant('{tmp}'));LastIndex := UNDEF_INDEX; with TBevel.Create(WizardForm) dobeginParent := WizardForm.SelectComponentsPage;SetBounds(ScaleX(400), ScaleY(30), ScaleX(400), ScaleY(285));Shape := bsFrame;end;InfoPic := TBitmapImage.Create(WizardForm)with InfoPic dobeginParent := WizardForm.SelectComponentsPage;SetBounds(ScaleX(400), ScaleY(30), ScaleX(400), ScaleY(285));Stretch := True;ExtractTemporaryFile('WizardForm.BitmapImage1.bmp');Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage1.bmp')); end;end; Edited September 16, 2017 by P.S.Enot @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted September 16, 2017 Share Posted September 16, 2017 (edited) не помогает. Пример я привел конкретно для кода описанного выше в посте ЛОМ-ма. Ответил в личку конкретно по твоему коду. P.S.: Код старайся помещать под спойлер, мало кому хочется видеть одно сообщение на пол страницы (в особенности это касается тех пользователей кто просматривает форум с мобильных девайсов). Edited September 16, 2017 by night_dragon_on @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 16, 2017 Share Posted September 16, 2017 (edited) все решил проблему на вот таком коде все заработало. спасибо все за помощь вот мой код все работает картинка как нужно возвращается и больше нет пустого окна. 'Открыть ' [код ]function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall';varInfoPic: TBitmapImage;TempPath: String;procedure ShowPicHint(const PicFilePath: String);varpt: TPoint;beginif not GetCursorPos(pt) then Exit;InfoPic.Bitmap.LoadFromFile(PicFilePath);InfoPic.SetBounds(ScaleX(0), ScaleY(30), ScaleX(400), ScaleY(258));InfoPic.Show;end;procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);varUndefPic: String;beginif Index = -1 then Exit;trycase TNewCheckListBox(Sender).ItemCaption[index] of'Маркеры': UndefPic := 'Markers.bmp';'XVM': UndefPic := 'XVM.bmp';'Дополнения XVM': UndefPic := 'Дополнения XVM.bmp';'Карусель танков в три ряда': UndefPic := 'tankIconsCam.bmp';'Панели счета WGL XVM': UndefPic := 'Панели счета WGL XVM.bmp';'Карусель': UndefPic := 'Carousel.bmp';'Карусель танков прозрачная P.S.Enot': UndefPic := 'Карусель танков прозрачная P.S.Enot.bmp';'Карусель танков от игрока НЕКРОМАНТ': UndefPic := 'Карусель танков от игрока НЕКРОМАНТ.bmp';'Дамаг панель Заяц с ремонтом по CTRL': UndefPic := 'Дамаг панель Заяц с ремонтом по CTRL.bmp';'Панель счета WGL стиль Green': UndefPic := 'Панель счета WGL стиль Green.bmp';'Панель счета WGL Green': UndefPic := 'Панель счета WGL Green.bmp';'ProAchivments': UndefPic := 'ProAchivments.bmp';elsebeginInfoPic.Hide;Exit;end;end;if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic);ShowPicHint(TempPath + UndefPic);finallyend;end;procedure CompOnMouseLeave(Sender: TObject);beginLastIndex := -1;end;procedure InitInfo();beginWizardForm.TypesCombo.Hide;WizardForm.ComponentsList.SetBounds(ScaleX(400), ScaleY(30), ScaleX(400), ScaleY(258));WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove;WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave;TempPath := AddBackslash(ExpandConstant('{tmp}'));with TBevel.Create(WizardForm) dobeginParent := WizardForm.SelectComponentsPage;SetBounds(ScaleX(0), ScaleY(30), ScaleX(400), ScaleY(258));Shape := bsFrame;end;InfoPic := TBitmapImage.Create(WizardForm)with InfoPic dobeginParent := WizardForm.SelectComponentsPage;AutoSize := True;end;end; Пример я привел конкретно для кода описанного выше в посте ЛОМ-ма. Ответил в личку конкретно по твоему коду. P.S.: Код старайся помещать под спойлер, мало кому хочется видеть одно сообщение на пол страницы (в особенности это касается тех пользователей кто просматривает форум с мобильных девайсов). спасибо . я уже все сделал. на другом коде . твоя подсказка помогла . как всегда выручил. огромное спасибо тебе Edited September 16, 2017 by P.S.Enot @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 16, 2017 Share Posted September 16, 2017 вот так вот как то все получилось. музыку вырежу, нафиг не нужна, только приведет к лишнему клацанью пользователей @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted September 17, 2017 Share Posted September 17, 2017 Ужасный дизайн. 2 @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted September 18, 2017 Share Posted September 18, 2017 Ужасный дизайн. ну а какой не ужасный подскажите или пример покажите нормального дизайна . я как бы раньше не делал не когда не чего подобного. сделать решил чисто для подписчиков своей группы для которых я делаю хвм конфиги и иногда оформляю моды. по их просьбам сделать инсталятор что бы они не из архива папки кидали а могли автоматом ставить компоненты все я и решил попробовать для людей что то собрать. пролистав все страницы если честно я тут вообще не видел что то нормального из дизайна кроме обычного стандартного инсталятора который выполнен как подкопирку. возможно фоновое изображение стоит сменить. если вы знаете подскажите я же не против поучится здесь я тоже пока не чего не нашел http://krinkels.org. да и как мне кажется дизайн не главная составляющая инсталятора . главное его функцианал и удобство . так что прошу покажите мне нормальный дизайн я рад буду прислушаться к вашему мнению @ Quote Link to comment Short link Share on other sites More sharing options...
Lom Posted September 18, 2017 Share Posted September 18, 2017 (edited) всем приветы. народ подскажите если не трудно что и как нужно вписать в этот код чтобы выбранные моды записывались бы в install.log и со второй страницы тоже. а то в нём тока с 1ой страницы моды прописываются а со второй и с Tasks не пишет. Ну черт с ним с Tasks но хотя бы чтобы вторая тоже была... function CreateLogMods: Boolean; var I: Integer; FileName, DateTime: String; begin Result:=True; DateTime:=GetDateTimeString('dd/mm/yyyy hh:nn', '-', '-'); ForceDirectories(ExpandConstant('{app}\ХХХ-удалить')); FileName:=ExpandConstant('{app}\ХХХ-удалить\install.log'); SaveStringToFile(FileName, '{#MyAppName} version {#MyAppVersion}' + #13#10 + #13#10 + 'Дата установки: ' + DateTime + #13#10 + #13#10 + 'Путь установки: ' + WizardForm.DirEdit.Text + #13#10 + #13#10 + 'Выбранные вами моды:' + #13#10, True); For I:=0 to WizardForm.ComponentsList.Items.Count - 1 do If WizardForm.ComponentsList.Checked[I] then begin SaveStringToFile(FileName, ' ' + WizardForm.ComponentsList.ItemCaption[I] + #13#10, True); end; end; P\S... и еще... наглеть так наглеть))) как привязать картинки ко второй странице компонентов если я использую вот этот код? [code] #ifdef UNICODE #define A "W" #else #define A "A" #endif const UNDEF_INDEX = -777; ALPHA_BLEND_LEVEL = 128; // max=Byte=255 WS_EX_LAYERED = $80000; WS_EX_TRANSPARENT = $20; LWA_COLORKEY = 1; LWA_ALPHA = 2; GWL_EXSTYLE = (-20); var InfoPic: TBitmapImage; LastIndex: Integer; TempPath: String; PicForm: TForm; type COLORREF = DWORD; function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall'; function SetLayeredWindowAttributes(Hwnd: THandle; crKey: COLORREF; bAlpha: Byte; dwFlags: DWORD): Boolean; external '[email protected] stdcall'; function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLong{#A}@user32.dll stdcall'; function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall'; function SetFocus(hWnd: HWND): HWND; external '[email protected] stdcall'; procedure ShowPicHint(const PicFilePath: String); var pt: TPoint; begin if not GetCursorPos(pt) then Exit; InfoPic.Bitmap.LoadFromFile(PicFilePath); try with PicForm do begin SetBounds(ScaleX(pt.x + 16), ScaleY(pt.y + 7), InfoPic.Width, InfoPic.Height); Show; end; finally SetFocus(WizardForm.Handle); end; end; procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea); var UndefPic: String; begin if Index = -1 then Exit; if Index = LastIndex then Exit; try case TNewCheckListBox(Sender).ItemCaption[Index] of '. Анимированная лампочка 10сек.': UndefPic := 'анимированная лампочка.bmp'; '. Белые трупы танков и белые гусеницы': UndefPic := 'белые трупы.bmp'; '. небо звездное': UndefPic := 'звездное небо.bmp'; '. Новый интерфейс ангара': UndefPic := 'кр.bmp'; '. Мод тень от Polar Fox (модель танка)': UndefPic := 'Мод Тень.bmp'; '. Панель счета c HP команд + лог урона': UndefPic := 'панель ХП.bmp'; '. прицел - Jimbo': UndefPic := 'прицел джимбо.bmp'; '. Круги сведения с пробитием (31 вариант)-(копируется на рабочий стол)': UndefPic := 'сведения.bmp'; '. статистика за сессию SeVeRRR': UndefPic := 'статистика SeVeRRR.bmp'; 'ОЛЕНЬ': UndefPic := 'ХВМ.bmp'; '. цветные пробития': UndefPic := 'цветные пробития.bmp'; '. прицел - Желтый': UndefPic := 'прицел желтый.bmp'; '. панель повреждений с таймером ремонта от Andre_V \ GambitER': UndefPic := 'панель GambitER.bmp'; '. Менеджер аккаунтов': UndefPic := 'Менеджер аккаунтов.bmp'; '. P-MoD = сервер + лампа 10 сек + ком.камера + зум60х': UndefPic := 'п мод.bmp'; '. Отображения установленного оборудования на танках': UndefPic := 'показ оборудования.bmp'; '. мод тылы, разноцветный индикатор ближайших врагов': UndefPic := 'тылы мод.bmp'; '. прицел L - MS': UndefPic := 'прицел L - MS.bmp'; '. прицел от Andr': UndefPic := 'прицел от Andr.bmp'; else begin LastIndex := UNDEF_INDEX; PicForm.Hide; Exit; end; end; if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic); ShowPicHint(TempPath + UndefPic); finally LastIndex := Index; end; end; procedure CompOnMouseLeave(Sender: TObject); begin PicForm.Hide; LastIndex := -1; end; procedure InitInfo(); begin WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove; WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave; TempPath := AddBackslash(ExpandConstant('{tmp}')); LastIndex := UNDEF_INDEX; PicForm := TForm.Create(WizardForm) with PicForm do begin BorderStyle := bsNone; FormStyle := fsStayOnTop; InfoPic := TBitmapImage.Create(PicForm) with InfoPic do begin Parent := PicForm; AutoSize := True; end; end; SetWindowLong(PicForm.Handle, GWL_EXSTYLE, GetWindowLong(PicForm.Handle, GWL_EXSTYLE) or WS_EX_LAYERED); SetLayeredWindowAttributes(PicForm.Handle, 0, ALPHA_BLEND_LEVEL, LWA_ALPHA); end; procedure InitializeWizard(); begin InitInfo(); end; P\P\S... Пожалуйста еще помогите объединить два кода в один, они вроде все на NextButtonClick привязаны. 1. function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Не верно указана папка World of Tanks!', mbError, MB_OK); Result := False; end; end; end; 2. function IsAppRunning(): Boolean; begin Result:=(FindWindowByWindowName('WoT Client') <> 0); end; function NextButtonClick(CurPage: Integer): Boolean; begin Result:=True; If CurPage=1 then begin if IsAppRunning() then begin MsgBox('Клиент игры World of Tanks в настоящее время запущен.' #13#13 'Необходимо закрыть его перед продолжением установки.', mbError, MB_OK); Result:=False; end; else Result:=True; end; end; Буду очень и ооооочень благодарен Edited September 19, 2017 by ЛОМ @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.