|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
.: NSIS - все вопросы :. часть 2.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
------- Отправлено: 12:02, 09-12-2012 |
Пользователь Сообщения: 96
|
Профиль | Отправить PM | Цитировать K.A.V., в моем случае не помогает код который дал kotkovets, ни те что в представленой им ссылке. Все дело в плагине nsisunrar2, при его использовании он создает ' свою' кнопку отмены, при нажатии которой прерывается только секция в которой используется этот плагин. А затем уже кнопка отмена возвращается в свое обычное состояние, и нужно нажимать ее еще раз. Как быть?
|
Отправлено: 19:43, 23-02-2014 | #1041 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Vincent7:
просите автора ещё и сделать глобальное прерывание , так сказать на выбор.. |
|
------- Отправлено: 23:46, 23-02-2014 | #1042 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Vincent7:
nsisUnRar2::Extract "$DESKTOP\plugins.rar" "$DESKTOP\TEST" pop $0 pop $1 ; 0 - архив не распакован, 1 - архив распакован MessageBox MB_OK|MB_ICONINFORMATION "$1" Если к примеру, указанного архива не существует, то в переменных будут следующие данные (опять же смотря на переменную $1 - что там возвращается я не в курсе, видимо коды возврата именно плагина, о которых знает только разраб) nsisUnRar2::Extract "$DESKTOP\plugins.rar" "$DESKTOP\TEST" pop $0 pop $1 pop $2 ; $0 - error ; $1 - 15 ; $2 - RAR open failed: File open error. |
|
------- Отправлено: 01:36, 24-02-2014 | #1043 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Цитата Kopejkin:
А вот перекрасили: И теперь цвет фона окна будет - черным. Цитата Kopejkin:
Цитата Kopejkin:
|
|||
Отправлено: 14:21, 24-02-2014 | #1044 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Возвращаясь к "шкурному" вопросу при помощи SkinSharp, то вот перечень всех функций, которые поддерживает библиотека SkinH.dll (описание API в исходном коде библиотеки - перевод с китайского):
/*************************************************************/ /* Описание SkinSharp API */ /*************************************************************/ #ifndef SKIN_H #define SKIN_H /********************** Коды ошибок **************************/ #define SRET_OK 0 // Операция выполнена успешно #define SRET_ERROR 1 // Операция не удалась #define SRET_ERROR_READ 2 // Ошибка файловых операций #define SRET_ERROR_PARAM 3 // Неверный параметр #define SRET_ERROR_CREATE 4 // Ошибка создания стиля #define SRET_ERROR_FORMAT 5 // Неверный формат стиля #define SRET_ERROR_VERSION 6 // Неверная версия стиля #define SRET_ERROR_PASSWORD 7 // Неверный пароль доступа к стилю #define SRET_ERROR_INVALID 8 // Ошибка авторизации /*************************************************************/ #define DECLSKINHAPI __declspec(dllimport) int __stdcall extern "C" { /****************** Функция SkinH_Attach *********************/ // Загрузка файла стиля skinh.she. Для успешной загрузки стиля, // файл стиля *.she должен быть в одном каталоге с файлом SkinH.dll. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_Attach(); /*************************************************************/ /****************** Функция SkinH_AttachEx *******************/ // Загрузка файла стиля по указанному пути. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_AttachEx( LPCTSTR strSkinFile, // Путь к файлу стиля. LPCTSTR strPassword // Пароль к файлу стиля. ); /*************************************************************/ /****************** Функция SkinH_AttachExt ******************/ // Загрузка указанного файла стиля с заданными параметрами насыщенности, оттенка и яркости. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_AttachExt( LPCTSTR strSkinFile, // Путь к файлу стиля. LPCTSTR strPassword, // Пароль к файлу стиля. int nHue, // Оттенок. Диапазон значений от -180 до +180, по умолчанию 0. int nSat, // Насыщенность. Диапазон значений от -100 до +100, по умолчанию 0. int nBri // Яркость. Диапазон значений от -100 до +100, по умолчанию 0. ); /*************************************************************/ /****************** Функция SkinH_AttachRes ******************/ // Загрузка указанного ресурса стиля с заданными параметрами насыщенности, оттенка и яркости. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_AttachRes( LPBYTE pShe, // Указатель на ресурсы стиля. DWORD dwSize, // Размер ресурсов. LPCTSTR strPassword, // Пароль к файлу стиля. int nHue, // Оттенок. Диапазон значений от -180 до +180, по умолчанию 0. int nSat, // Насыщенность. Диапазон значений от -100 до +100, по умолчанию 0. int nBri // Яркость. Диапазон значений от -100 до +100, по умолчанию 0. ); /*************************************************************/ /****************** Функция SkinH_AttachResEx ****************/ // Загрузка указанного имени ресурса стиля с заданными параметрами насыщенности, оттенка и яркости. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_AttachResEx( LPCTSTR lpName, // Имя ресурса. LPCTSTR lpType, // Тип ресурса. LPCTSTR strPassword, // Пароль к файлу стиля. int nHue, // Оттенок. Диапазон значений от -180 до +180, по умолчанию 0. int nSat, // Насыщенность. Диапазон значений от -100 до +100, по умолчанию 0. int nBri // Яркость. Диапазон значений от -100 до +100, по умолчанию 0. ); /*************************************************************/ /****************** Функция SkinH_Detach *********************/ // Выгрузка стиля. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_Detach(); /*************************************************************/ /****************** Функция SkinH_DetachEx *******************/ // Выгрузка стиля для указанного дескриптора окна. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_DetachEx( HWND hWnd // Дескриптор (handle) окна. ); /*************************************************************/ /****************** Функция SkinH_SetWindowAlpha *************/ // Установка уровня прозрачности для указанного дескриптора окна. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_SetWindowAlpha( HWND hWnd, // Дескриптор (handle) окна. int nAlpha // Прозрачность. Диапазон значений от 0 до 255. ); /*************************************************************/ /****************** Функция SkinH_AdjustHSV ******************/ // Настройка оттенка, насыщенности и яркости стиля. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_AdjustHSV( int nHue, // Оттенок. Диапазон значений от -180 до +180, по умолчанию 0. int nSat, // Насыщенность. Диапазон значений от -100 до +100, по умолчанию 0. int nBri // Яркость. Диапазон значений от -100 до +100, по умолчанию 0. ); /*************************************************************/ /****************** Функция SkinH_GetColor *******************/ // Получение значения цвета в точке с координатами nX, nY. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_GetColor( HWND hWnd, // Дескриптор (handle) окна или элемента управления. int nX, // Значение координаты Х. int nY // Значение координаты Y. ); /*************************************************************/ /****************** Функция SkinH_Map ************************/ // Установка стиля для определенного типа элемента управления. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_Map( HWND hWnd, // Дескриптор (handle) окна или элемента управления. int nType // Тип элемента управления. ); // Идентификаторы элементов управления #define TYPE_UNKNOWN 0 #define TYPE_ANIMATE 1001 #define TYPE_CHECKBOX 1002 #define TYPE_COMBOBOX 1003 #define TYPE_COMBOLBOX 1004 #define TYPE_CONTROLBAR 1005 #define TYPE_DATETIME 1006 #define TYPE_EDITBOX 1007 #define TYPE_GROUPBOX 1008 #define TYPE_HEADERCTRL 1009 #define TYPE_HOTKEY 1010 #define TYPE_IPADDRESS 1011 #define TYPE_LABEL 1012 #define TYPE_LISTBOX 1013 #define TYPE_LISTVIEW 1014 #define TYPE_MDICLIENT 1015 #define TYPE_MENU 1016 #define TYPE_MONTHCAL 1017 #define TYPE_PICTURE 1018 #define TYPE_PROGRESS 1019 #define TYPE_PUSHBUTTON 1020 #define TYPE_RADIOBUTTON 1021 #define TYPE_REBAR 1022 #define TYPE_RICHEDIT 1023 #define TYPE_SCROLLBAR 1024 #define TYPE_SCROLLCTRL 1025 #define TYPE_SPINCTRL 1026 #define TYPE_STATUSBAR 1027 #define TYPE_TABCTRL 1028 #define TYPE_TOOLBAR 1029 #define TYPE_TOOLBARWND 1030 #define TYPE_TRACKBAR 1031 #define TYPE_TREEVIEW 1032 #define TYPE_WINDOW 1034 #define TYPE_COMCTRL 1036 #define TYPE_PAINTCTRL 1037 /*************************************************************/ /****************** Функция SkinH_SetAero ********************/ // Включение/Отключение эффекта Aero. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_SetAero( int bAero // Включить Aero - 1. Отключить Aero - 0. ); /*************************************************************/ /****************** Функция SkinH_AdjustAero *****************/ // Установка параметров Aero. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_AdjustAero( int nAlpha, // Прозрачность. Диапазон значений от 0 до 255 (по умолчанию 0). int nShwDark, // Яркость тени. Диапазон значений от 0 до 255 (по умолчанию 0). int nShwSharp, // Четкость тени. Диапазон значений от 0 до 255 (по умолчанию 0). int nShwSize, // Размер тени. Диапазон значений от 2 до 19 (по умолчанию 2). int nX, // Смещение по горизонтали (X), 0-25 (по умолчанию 0). int nY, // Смещение по вертикали (Y), 0-25 (по умолчанию 0). int nRed, // Красный компонент цвета. Диапазон значений от 0 до 255 (по умолчанию -1). int nGreen, // Зеленый компонент цвета. Диапазон значений от 0 до 255 (по умолчанию -1). int nBlue // Синий компонент цвета. Диапазон значений от 0 до 255 (по умолчанию -1). ); /*************************************************************/ /****************** Функция SkinH_SetWindowMovable ***********/ // Установка для формы свойства Moveable. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_SetWindowMovable( HWND hWnd, // Дескриптор (handle) окна. BOOL bMovable // 0 - неперемещаемая, 1 - перемещаемая. ); /*************************************************************/ /****************** Функция SkinH_SetBackColor ***************/ // Установка фонового цвета для заданного элемента управления // (только для элементов управления CheckBox, Edit, GroupBox). // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_SetBackColor( HWND hWnd, // Дескриптор (handle) элемента управления. int nRed, // Значение красного компонента цвета. int nGreen, // Значение зеленого компонента цвета. int nBlue // Значение синего компонента цвета. ); /*************************************************************/ /****************** Функция SkinH_SetForeColor ***************/ // Установка переднего цвета для заданного элемента управления // (только для элементов управления CheckBox, Edit, GroupBox). // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_SetForeColor( HWND hWnd, // Дескриптор (handle) элемента управления. int nRed, // Значение красного компонента цвета. int nGreen, // Значение зеленого компонента цвета. int nBlue // Значение синего компонента цвета. ); /*************************************************************/ /****************** Функция SkinH_LockUpdate *****************/ // Обновление или блокировка эффекта стиля для указанного дескриптора // окна или элемента управления, в случае многократной смены стиля. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_LockUpdate( HWND hWnd, // Дескриптор (handle) окна или элемента управления. int bUpdate // Блокировать эффект - 1, обновить эффект - 0. ); /*************************************************************/ /****************** Функция SkinH_SetMenuAlpha ***************/ // Установка прозрачности меню. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_SetMenuAlpha( int nAlpha // Прозрачность. Диапазон значений от 0 до 255. ); /*************************************************************/ /****************** Функция SkinH_NineBlt ********************/ // Отрисовка контекста элемента. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_NineBlt( HDC hDtDC, // Контекст элемента. int left, // Координата X левого верхнего угла элемента. int top, // Координата Y левого верхнего угла элемента. int right, // Координата X правого нижнего угла элемента. int bottom, // Координата Y правого нижнего угла элемента. int nMRect // Идентификатор (ID) элемента. ); /*************************************************************/ /****************** Функция SkinH_SetTitleMenuBar ************/ // Установка заголовка меню. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_SetTitleMenuBar( HWND hWnd, // Дескриптор (handle) окна. BOOL bEnable, // 1 - установить параметры меню. 0 - отменить установку. int nTMenuY, // Высота панели меню. int nTopOffs, // Смещение сверху. int nRightOffs // Смещение вправо. ); /*************************************************************/ /****************** Функция SkinH_SetFont ********************/ // Установка шрифта для заданного элемента управления. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_SetFont( HWND hWnd, // Дескриптор (handle) элемента управления. HFONT hFont // Дескриптор шрифта. ); /*************************************************************/ /****************** Функция SkinH_SetFontEx ******************/ // Установка свойств шрифта для заданного элемента управления. // В случае успешного выполнения операции возвращает код 0. DECLSKINHAPI SkinH_SetFontEx( HWND hWnd, // Дескриптор (handle) элемента управления. LPCTSTR szFace, // Имя шрифта. int nHeight, // Высота шрифта. int nWidth, // Ширина шрифта. int nWeight, // Плотность шрифта. int nItalic, // Стиль курсив. int nUnderline, // Стиль подчеркнутый. int nStrikeOut // Стиль зачеркнутый. ); /*************************************************************/ /****************** Функция SkinH_VerifySign *****************/ // Проверка цифровой подписи. // Подпись есть и она действительна - возвращает код 1. // Подписи нет или она недействительна - возвращает код 0. DECLSKINHAPI SkinH_VerifySign(); /*************************************************************/ } #endif # Настройка оттенка, насыщенности и яркости стиля. ; 80 - значение оттенка ; 75 - значение насыщенности ; 0 - значение яркости System::Call SkinH::SkinH_AdjustHSV(i80,i75,i0) Таким образом не обязательно создавать новый стиль, можно просто подобрать желаемые параметры цвета для одного из готовых стилей и указать их в сценарии. |
Отправлено: 15:30, 24-02-2014 | #1045 |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить PM | Цитировать По-моему, чернее не бывает...
Красил в первую очередь, т.к. "явно" указывало - Client. P.S. А этот просмотрщик скинов как отдельное приложение доступен? С наскоку не нашел. Пусть было бы в хозяйстве. Мне не удавалось создать нормальный инсталлятор с файлом скина, который бы назывался иначе, чем skinh.she. Приходилось каждый из предлагаемых скинов переименовывать в skinh.she и тогда все отображалось, как нужно. Об этом уже кто-то упоминал здесь. |
Последний раз редактировалось Kopejkin, 25-02-2014 в 15:51. Отправлено: 03:45, 25-02-2014 | #1046 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать При использовании функции SkinH_Attach имя файла стиля должно быть skinh.she и никакое другое. Поэтому, чтобы прицепить другой стиль, файл выбранного стиля нужно переименовать в skinh.she. Чтобы не переименовывать файл стиля, нужно использовать функцию SkinH_AttachEx (данное утверждение нуждается в проверке).
Вот все в куче: СКАЧАТЬ В архиве: - SHEditor - редактор стилей (русская версия от Leserg); - SkinViewer - обозреватель стилей (при запуске обращается к папке Skins, если у вас появится новый стиль, просто положите его в эту папку и перезапустите программу - стиль появится в списке); - Папка Skins - 116 стилей (внимание, многие стили необходимо исправлять (корректировать координаты позиции и прочее), т.к. большинство из них были сделаны в старой версии редактора); - Папка DLL - библиотека SkinH.dll, соответственно ANSI и Unicode версии. Её можно применять в инсталляторах NSIS/Inno Setup (ANSI/Unicode). При всем множестве возможных вариантов реализации скинизации инсталляторов NSIS/Inno Setup, я остановился именно на SkinSharp. Маленькая, да удаленькая. |
Отправлено: 19:49, 25-02-2014 | #1047 |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо, сейчас и проверю.
|
Отправлено: 02:34, 26-02-2014 | #1048 |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Flix:
У себя никакой разницы не заметил. Все равно, для нормальной работы требуется skinh.she. Цитата Flix:
SkinH.dll у MKN версия: 1.0.6.6. дата изменения: 15/08/2010 размер: 89,5 кб SkinH.dl у Flix версия: 1.0.6.6. дата изменения: 11/09/2013 размер: 84,5 Кб Разницы в работе не заметил. Во всем этом "мёде" есть ложечка дегтя - на всех "темных" темах некрасиво отображается шрифт с "тенью" или "выдавленный" (бренд, описание компонентов). Это касается не только шкурок SkinSharp. Такой же эффект был и со шкурками ISSkin. Можно ли отключить для этих элементов шрифтовые эффекты-дефекты? Со скинами VCL Style такой дефект присутствует в поле описания компонентов и то только при первом наведении мыши на эту область. Если щелкнуть по компоненту и снова навести указатель в поле описания, "эффект" уже не проявляется. На бренде его и не было. |
||
Последний раз редактировалось Kopejkin, 26-02-2014 в 13:58. Отправлено: 11:41, 26-02-2014 | #1049 |
Пользователь Сообщения: 96
|
Профиль | Отправить PM | Цитировать K.A.V., спасибо, но я сделал по другому, в скрытой секции добавил код подсчета распакованных файлов, если их меньше чем должно быть-аборт
|
Отправлено: 15:33, 26-02-2014 | #1050 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 2 | dimadr | Наборы обновлений для Windows XP/2003/Windows 7 | 267 | 14-02-2020 08:25 | |
[архив].: NSIS - все вопросы :. | kotkovets | Автоматическая установка приложений | 3387 | 09-12-2012 11:56 | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 1 | jameszero | Наборы обновлений для Windows XP/2003/Windows 7 | 1491 | 22-07-2011 22:42 | |
Выбор|модернизация процессора .:[все вопросы]:. Часть I | Myxa | Выбор отдельных компонентов компьютера и конфигурации в целом | 1845 | 01-01-2011 19:18 | |
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|