Inno Setup (создание инсталяционных пакетов). Часть 1

Статус
В этой теме нельзя размещать новые ответы.

Winst@n

Участник
Проверенный
AlexandR,
Вы странное люди. Один просит переделать дЕинстал,второй просит сделать его обратно стандартным. На прошлой стр. сказано что именно отвечает за форму удаления. Вам копать в том же направление.
Вот инстал http://rghost.ru/21415411 где удаления сделано в 2 прихода (2 стр).
Реализовано так же и в 3и (подключил только в 2а)
 

Snoopak96

Старожил
Всем доброго дня, нужны две подсказки:
1. Как сделать отображение обеих форм в windows 7 здесь:
[hide=Скринот]
[/hide]или как вообще это окно отключить, я так понял, что тут тоже надо фокус передавать на WizardForm, но на какое событие так и не понял.

2. Как убить фокус в DeinitializeSetup, в справочниках ничего не нашёл.
 
Последнее редактирование:

Winst@n

Участник
Проверенный
Snoopak96,
Еще раз и понятней. Можешь сказать что ты хочешь?
 

LexBell

Борода
Супер модератор
1. Как сделать отображение обеих форм в windows 7 здесь:
нужно передать фокус окну-родителю изображения. есть апишная функция для этого. Она-же подойдет для ответа и на второй вопрос :) Единственное, не знаю, какое сообщение поступает, при наведении курсора на панели задач...
 

DaRKdemoN

Участник
Проверенный
Единственное, не знаю, какое сообщение поступает, при наведении курсора на панели задач...
вроде какая-то из ABM_... как желание появится покопаю.

Добавлено через 18 минут
Each taskbar icon can have an application-defined callback message associated with it. If an icon has a callback message, the system will send the message to the application whenever a mouse event occurs within the icon. In this way, the system can notify an application whenever the user clicks or double-clicks the icon, or moves the mouse cursor into the icon's bounding rectangle.

An application defines an icon's callback message when it adds the icon to the taskbar. The uCallbackMessage member of the NOTIFYICONDATA structure included with the NIM_ADD message specifies the identifier of the callback message. When a mouse event occurs, the system sends the callback message to the window identified by the hWnd member. The message's lParam parameter is the identifier of the mouse message that the system generated as a result of the mouse event. For example, when the mouse cursor moves into a taskbar icon, the lParam parameter of the resulting callback message contains the WM_MOUSEMOVE identifier. The wParam parameter contains the identifier of the taskbar icon in which the mouse event occurred.

вообщем теперь появился вопрос: как прочесть из NOTIFYICONDATA.uCallbackMessage?
 
Последнее редактирование:

LexBell

Борода
Супер модератор
нашел такой код для работы с миниатюрами панели задач в вин7 :
procedure TForm1.FormCreate(Sender: TObject);
var
DEnable: DWORD;
bmp: TBItmap;
begin
DEnable:= DWMNCRP_ENABLED;
If S_OK <>
DwmSetWindowAttribute(Handle,DWMWA_FORCE_ICONIC_REPRESENTATION,
@DEnable,SizeOf(DEnable));
then MessageBox(0,’Error’,0,0);

If S_OK <>
DwmSetWindowAttribute(Handle,DWMWA_HAS_ICONIC_BITMAP,
@DEnable,SizeOf(DEnable));
then MessageBox(0,’Error’,0,0);

Bmp:= TBitmap.Create;
Bmp.LoadFromFile('полный путь к нужной картинке');
If S_OK <>
DwmSetIconicThumbnail(Handle,Bmp.Handle,0);
then MessageBox(0,’Error’,0,0);
end;
Функция DwmSetWindowAttribute

1-ый параметр, это ссылка на идентификатор окна (иначе хэндл).
2-ой параметр задаёт атрибуты для изменения
3-ий это служебный параметр, им может быть определенная переменная - всё зависит от атрибута.
4-ый задаёт размер служебного параметра.

Функция DwmSetIconicThumbnail

1-ый - параметр её отвечает за идентификатор нашей формы.
2-ой - ссылка на HBitmap.
3-ый в нём задаются параметры экрана, или можно выставить 0 чтобы не морочить голову.
 
Последнее редактирование:

Avangard

Участник
Как организовать проверку в edit'e? Мне нужно проверить, есть ли адрес диска, на который должна установится игра.
 

DeKaN

Новичок
dvd4el, например:
Код:
procedure DirEditChange(Sender: TObject);
begin
 if not DirExists(WizardForm.DirEdit.Text)
   then WizardForm.DirEdit.Text := 'C:\';
end;

procedure InitializeWizard();
begin
  WizardForm.DirEdit.OnChange := @DirEditChange;
end;
 

Avangard

Участник
AlexandR, попроси у NeON'a Surface.dll и пример к нему и будет тебе счастья:) Или сам напиши такую библиотеку:)
 

Avangard

Участник
Как реализовать Трак-бар через ботву в ReadyMemo?

Как получить размер файла в Мб?
 

v1nt

Мимокрокодил
ребят забыл что должно быть что б установка была скрытой?
Filename: {app}\unpack.bat; StatusMsg: Распаковка архивов...; Flags: вот тут что?
что б батник запускал в и его не было видно?
 

Avangard

Участник
Почему при загрузке прогресс-бара через ботву, у которого обрезаны углы, ботва не понимает что они обрезаны, и делает их их прямыми...
Вот: http://i30.fastpic.ru/big/2011/0917/0b/8d0127f2e6054f215406ad727f088b0b.jpg
А прогресс-бар должен быть таким: http://i31.fastpic.ru/big/2011/0917/64/878b5954e7ccbdebb1bc4f80c5ea8164.png
Использую обычный модуль прогресс-бара от htuos'a...
 

Avangard

Участник
Gnom, так прогресс-бар не двигается вообще.
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху