|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 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 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать K.A.V., да не отвечай на вопросы, ибо на его писательство не стоит попросту обращать внимания
убрать оффтоп - дело техники модератора |
|
------- Отправлено: 21:31, 19-12-2013 | #881 |
|
Пользователь Сообщения: 117
|
Профиль | Сайт | Отправить PM | Цитировать Попробовал применить скины к инсталлятору с помощью ISSkinEx (MKN)
На некоторых скинах BrandingText выгладит неопрятно. ![]() Например: скин tiger Можно ли что-нибудь сделать? В Справочнике NSIS есть пример изменения цвета BrandingText. В стандартном примере скрипта (WelcomeFinish.nsi) - прекрасно работает. В различных примерах со скинами (см. ссылку MKN выше) - нет. И что самое обидное ( ) в моем, вполне рабочем скрипте без скинов, самодельных окон - в общем, довольно простеньком - тоже не работает. Хотя особой надобности что-либо делать с BrandingText нет - отображается вполне прилично.Есть ли ограничения применения этого примера? Или что необходимо учитывать? |
|
Отправлено: 15:41, 20-12-2013 | #882 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата Kopejkin:
Самый удачный "кожезаменитель" для NSIS, по моему - это SkinH.dll. Для однокнопочных конструкций можно сделать забавный фейс инсталлятора - в виде круга. Функция , проделывающая это, уже описывалась ранее. !include nsDialogs.nsh
!include WinMessages.nsh
Caption " "
Page Custom mypagecreate
Page InstFiles
OutFile "CreateRoundRectRgn.exe"
Var dlg
var button
Function .onGUIInit
System::Call "user32::SystemParametersInfo(i0x0025,i0,*i.R0,i0)"
System::Call "user32::SystemParametersInfo(i0x0025,i1,i0,i0)"
FunctionEnd
Function .onGUIEnd
System::Call "user32::SystemParametersInfo(i0x0025,iR0,i0,i0)"
FunctionEnd
Function mypagecreate
nsDialogs::Create 1018
Pop $dlg
System::Call "*(i, i, i, i)i.r0"; создать новую структуру
System::Call "User32::GetClientRect(i$HWNDPARENT, ir0)"; Получить новые координаты структуры - в $0
System::Call "*$0(i, i, i.r1, i.r2)"
IntOp $1 $1 + 5
IntOp $2 $2 + 30
System::Call "Gdi32::CreateRoundRectRgn(i0,i0,i200,i200,i200,i200)i.r0"
; Функция SetWindowRgn устанавливает регион окна. Регион окна устанавливает область внутри окна, где система разрешает рисовать.
;Система не выводит на экран любую часть окна, которая находится за пределами региона окна.
; Координаты окна региона окна находятся относительно левого верхнего угла не рабочей области окна.
;После успешного вызова функции SetWindowRgn системе принадлежит регион, определенный дескриптором hRgn региона.
;Система не делает копию региона. Таким образом, Вы не должны делать дополнительные вызовы функции с этим дескриптором региона.
;В частности не удаляйте этот дескриптор региона. Система удаляет дескриптор региона тогда, когда он больше не нужен.
System::Call "User32::SetWindowRgn(i$HWNDPARENT, ir0, i1)"
${NSD_CreateButton} 50u 35u 17u 16u "X"
Pop $button
${NSD_OnClick} $button done
nsDialogs::Show
FunctionEnd
Function done
SendMessage $hwndparent ${WM_CLOSE} 0 0
FunctionEnd
Section
SectionEnd
Но у меня не получилось - полностью закрасить круг. ( с прямоугольным окном получается). Как это можно сделать, у кого какие соображения ? |
|
|
Отправлено: 17:39, 20-12-2013 | #883 |
|
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата MKN:
|
|
|
------- Отправлено: 20:00, 20-12-2013 | #884 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата MKN:
а можно убрать у окна заголовок, удалить стиль заголовка, но переместить окошко тогда не удасться |
|
|
------- Отправлено: 00:20, 21-12-2013 | #885 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Самое простое - запускать вместе со скриптом утилитку для этого (типа MoveInactiveWin). Но так не интересно... В то же время пишут, что можно сделать так : http://computista.ru/030600.shtml или использовать сообщение WM_NCHITTEST, которое есть даже в WinMessages.nsh. Только как это сделать на практике ? |
|
|
Отправлено: 12:35, 21-12-2013 | #886 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата MKN:
|
|
|
------- Отправлено: 19:12, 21-12-2013 | #887 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
![]() |
|
|
Отправлено: 21:06, 21-12-2013 | #888 |
|
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Никто не знает как в скрипте NSIS вызвать LaunchAdvancedAssociationUI для заданной программы?
(How to call LaunchAdvancedAssociationUI). |
|
------- Отправлено: 16:53, 23-12-2013 | #889 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
Был такой код по теме : !include LogicLib.nsh
!define CLSCTX_INPROC_SERVER 0x1
!define CLSID_ApplicationAssociationRegistrationUI {1968106d-f3b5-44cf-890e-116fcb9ecef1}
!define IID_IApplicationAssociationRegistrationUI {1f76a169-f994-40ac-8fc8-0959e8874710} ;[Vista+]
section
System::Call 'OLE32::CoCreateInstance(g "${CLSID_ApplicationAssociationRegistrationUI}",i 0,i ${CLSCTX_INPROC_SERVER},g "${IID_IApplicationAssociationRegistrationUI}",*i.r1)i.r0' ;ptr is now in $1 and hr in $0
${If} $1 <> 0
System::Call '$1->3(w "MyApp")i.r0' ;IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI
System::Call '$1->2()' ;IUnknown::Release
${EndIf}
sectionend
( http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx ) А ты, как мне кажется, хочешь замутить канитель, именно применимо к ассоциированию в Win8 ? (а для других ОС и мутить нечего - всё ясно и традиционно...) |
|
|
Отправлено: 17:43, 23-12-2013 | #890 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 | |
|