|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1264 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Пользователь Сообщения: 128
|
Профиль | Отправить PM | Цитировать опять я тут со своими чек боксами. не могу "сделать" такое = при отмене создания папки в меню пуск, (т.е когда нажат чек бокс "не создавать папку") кнопка групп браузер бутон не активна, примеров насобирал штук 10. ни один не могу "воткнуть"
в кратце скрипт Скрытый текст
procedure WizardFormBtnClick(hBtn: HWND); var Btn: TButton; begin case hBtn of GroupBrowseButton: Btn := WizardForm.GroupBrowseButton; end; end; Btn.OnClick(Btn); BtnRefresh(hBtn); end; procedure GroupEditOnChange(Sender: TObject); begin GroupEditLabel.Caption := MinimizePathName(WizardForm.GroupEdit.Text, GroupEditLabel.Font, GroupEditLabel.Width); end; function NoStartIcon: boolean; begin Result := not BtnGetChecked(NoStartIconCheckBox); end; procedure CheckBoxesClick(Sender: TObject); begin case Sender of NoStartIconLabel: BtnSetChecked(NoStartIconCheckBox, not BtnGetChecked(NoStartIconCheckBox)); end; end; procedure CreateButtons; begin GroupBrowseButton := BtnCreate(WizardForm.Handle, ScaleX(494), ScaleY(132), ScaleX(94), ScaleY(26), 'DirBrowseBtn.png', 0, False); BtnSetEvent(GroupBrowseButton, BtnClickEventID, WrapBtnCallback(@WizardFormBtnClick, 1)); NoStartIconCheckBox := BtnCreate(WizardForm.Handle, ScaleX(25), ScaleY(235), ScaleX(18), ScaleY(18), 'CheckBox.png', 0, True); end; |
Отправлено: 18:36, 20-04-2015 | #521 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Dodakaedr, там пока мало что реализованно, но если очень надо вот - ISExec.dll
|
Отправлено: 18:46, 20-04-2015 | #522 |
Ветеран Сообщения: 857
|
Профиль | Отправить PM | Цитировать VoLT, что за ошибка? Библа вообще рабочая?
Скрытый текст
[Setup] appname=app AppVersion=1.0 DefaultDirName={pf}\app [Files] Source: "ISExec.dll"; Flags: dontcopy nocompression [Code] type TCancelFunc = procedure(var Cancel: Boolean); procedure Exec(aEXEName: WideString; aVisible: Boolean; aCallback: TCancelFunc); external 'Exec@files:ISExec.dll stdcall'; procedure CallMe(var Cancel: Boolean); begin Cancel := False; end; procedure InitializeWizard(); begin Exec(ExpandConstant('{src}\MyProg.exe'), True, @CallMe); //Exec('cmd.exe', True, @CallMe); end; |
------- Отправлено: 20:23, 20-04-2015 | #523 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:36, 20-04-2015 | #524 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Здравствуйте. Нужна помощь по работе с внешними dll'ками.
При установке нужно получать информацию о подключённом HID устройстве. Для этого решил использовать библиотеку hidapi.dll, а из неё нужна функция hid_enumerate(int vid, int pid). Функция возвращает указатель на структуру, содержащую информацию о HID устройствах. Как я понял в inno script указателей нет, поэтому вопрос, можно ли использовать эту функцию? И если да, то какой указывать тип результата и каким образом его вообще получать? function GetInfo(vid: integer; pid: integer): integer; external 'hid_enumerate@files:hidapi.dll stdcall delayload'; procedure CurPageChanged(CurPageID: Integer); Var vid: integer; pid: integer; res: integer; begin vid := 0; pid := 0; if CurPageId = wpWelcome then begin WizardForm.WelcomeLabel1.Caption := ExpandConstant('{cm:InstallPage_pageDescription_Caption1}')+#13#10+('{#MyAppName}'); res := GetInfo(vid, pid); end |
Отправлено: 21:41, 20-04-2015 | #525 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать PleaseTryAgain, напишите на дельфи или на си длл - в ней все функции
|
Отправлено: 21:44, 20-04-2015 | #526 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать VoLT, библиотека на С написана
|
Отправлено: 22:04, 20-04-2015 | #527 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать PleaseTryAgain, я про обертку ...
а если использовать на чистую то вы правильно сделали что использовали integer (но для 64 битных длл нужно расширить до 8 знаков) странно что юзаете stdcall вроде dll на си все юзают Cdecl |
Отправлено: 22:09, 20-04-2015 | #528 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать |
Отправлено: 22:31, 20-04-2015 | #529 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать PleaseTryAgain, почти никак) как вы и сказали в инно нет указателей
|
Отправлено: 10:12, 21-04-2015 | #530 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 |
|