|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
|
.: NSIS - все вопросы :. часть 2.
|
|
Ветеран Сообщения: 1216 |
![]() Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором 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 |
|
Пользователь Сообщения: 98
|
Профиль | Отправить PM | Цитировать Цитата Kopejkin:
![]() А вот перекрасили: ![]() И теперь цвет фона окна будет - черным. Цитата Kopejkin:
Цитата Kopejkin:
![]() |
|||
|
Отправлено: 14:21, 24-02-2014 | #1044 |
|
Пользователь Сообщения: 98
|
Профиль | Отправить 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 |
|
Пользователь Сообщения: 117
|
Профиль | Сайт | Отправить PM | Цитировать По-моему, чернее не бывает...
Красил в первую очередь, т.к. "явно" указывало - Client. ![]() P.S. А этот просмотрщик скинов как отдельное приложение доступен? С наскоку не нашел. Пусть было бы в хозяйстве. Мне не удавалось создать нормальный инсталлятор с файлом скина, который бы назывался иначе, чем skinh.she. Приходилось каждый из предлагаемых скинов переименовывать в skinh.she и тогда все отображалось, как нужно. Об этом уже кто-то упоминал здесь. |
|
Последний раз редактировалось Kopejkin, 25-02-2014 в 15:51. Отправлено: 03:45, 25-02-2014 | #1046 |
|
Пользователь Сообщения: 98
|
Профиль | Отправить 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 |
|
Пользователь Сообщения: 117
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо, сейчас и проверю.
|
|
Отправлено: 02:34, 26-02-2014 | #1048 |
|
Пользователь Сообщения: 117
|
Профиль | Сайт | Отправить 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 | |
|