[архив].: NSIS - все вопросы :.

Ответить
 • Просмотры: 47
Аватара пользователя
yyv

Re: [архив].: NSIS - все вопросы :.

Сообщение yyv »

sawe,

получилось

в этот момент там было очень много мата и слюней радости, ибо уже более трех дней бьюсь с этой проблемой Изображение

вот мой контрол



Код:

Код: Выделить всё

   CONTROL "", 1139, STATIC, SS_BITMAP | WS_CHILD | WS_VISIBLE, 0, 250, 462, 43

а во так я делаю нужый мне фон нижнего края



Код:

Код: Выделить всё

 
GetDlgItem  $back $HWNDPARENT 1139
SetCtlColors $back 0x000000 0xEBEBEB

вопрос теперь в другом

Изображение

как мне сделать фон в BrandingText нужным мне?

использую BrandingURL plug-in

пробую



Код:

Код: Выделить всё

 
GetDlgItem $0 $HWNDPARENT 1028
SetCtlColors $0  0x000000 0xEBEBEB

и здесь это вариант не проходит Изображение

фон системный серый...
Аватара пользователя
kotkovets

Re: [архив].: NSIS - все вопросы :.

Сообщение kotkovets »

Попробуй, но не гарантирую, что будет "существенно" быстрее, трудно судить не видя проблемного кода,

если все таки есть цикл - это и есть тормоз, ведь ему надо "двигать" прогресс - это существенно замедляет работу в целом

Здесь только поможет макрос писать с использованием хидера Util.nsh - который основан на функции и перехода

по абсолютной метке - это сильно ускоряет работу цикла. Если надо могу показать такой пример цикла.
Аватара пользователя
yyv

Re: [архив].: NSIS - все вопросы :.

Сообщение yyv »

kotkovets спасибо за советы,если сам не справлюсь, отправлю скрипт по ПМ, если у вас будет время, посмотрите ? Изображение
Аватара пользователя
sawe

Re: [архив].: NSIS - все вопросы :.

Сообщение sawe »

да ради бога, сейчас не буду смотреть - позже.
Аватара пользователя
kotkovets

Re: [архив].: NSIS - все вопросы :.

Сообщение kotkovets »

макрос FileAssociation.nsh скачанный отсюда
http://nsis.sourceforge.net/File_Association
пишет в HKCR, а мне нужно в HKLM \SOFTWARE\Classes. Если я в FileAssociation.nsh изменю все HKCR в HKLM "SOFTWARE\Classes", то будет все корректно работать ? если уже есть исправленная версия дайте ссылку пожалуйста.
Аватара пользователя
yyv

Re: [архив].: NSIS - все вопросы :.

Сообщение yyv »

Цитата vahe-91:



макрос FileAssociation.nsh скачанный отсюда
http://nsis.sourceforge.net/File_Association
пишет в HKCR,
[архив].: NSIS - все вопросы :.




Особой такой разницы нету, HKCR или HKLM - все равно записи продублируются.

Ну коль зачесалось, то меняй HKCR или HKLM

расставь для отладки в макросе сообщения для наглядного просмотра и правки макроса, если нужно:



Код:

Код: Выделить всё

MessageBox MB_OK "$$R0 = $R0$\n$$R1 = $R1"

$R0 или $R1 могут(не проверял) - SOFTWARE\Classes[/i] или какой ты там ключ укажешь в аргументах макроса,

нетрудно сопоставить с нужными тебе ветками реестра. Еще имеет смысл $R0 - в кавычки одеть.



Код:

Код: Выделить всё

WriteRegStr HKCR "$R1" "" "$R0"

и так далее.
Аватара пользователя
sawe

Re: [архив].: NSIS - все вопросы :.

Сообщение sawe »

SetCtlColors $mui.Branding.Background ${MUI_BGCOLOR} transparent



это тоже самое как

SetCtlColors $0 0x0000FF transparent



SetCtlColors - команда

$0 - для кого

0x0000FF - цвет объекта

transparent - цвет прозрачности фона



Только одно я не могу понять, а на кой вам этот Branding, придушите его и вместо него используйте простую ссылку, тогда и плагин не нужен.
Аватара пользователя
yyv

Re: [архив].: NSIS - все вопросы :.

Сообщение yyv »

Цитата CyberMaster:



Чет не врубаюсь, почему InstallDirRegKey не хочет брать путь из реестра? 100500 раз проверял путь в реестре - все правильно и запись существует
[архив].: NSIS - все вопросы :.




Потому что, гладиолус Изображение



Код:

Код: Выделить всё

	;Default installation folder
	InstallDir "$PROGRAMFILES\Directory"
	;Get installation folder from registry if available
	InstallDirRegKey HKLM "SOFTWARE\NSIS" ""

При любом раскладе все работает!

А ваш InstallDirRegKey не соответсвует, тому что нужно, 100%



Код:

Код: Выделить всё

InstallDirRegKey HKLM "Software\TeamSpeak 3 Client" ""


Цитата CyberMaster:



100500 раз проверял
[архив].: NSIS - все вопросы :.




Можно ключ по умолчанию проверить 100501 раз



Код:

Код: Выделить всё

ReadRegStr $0 HKLM "SOFTWARE\TeamSpeak 3 Client" ""
MessageBox MB_OK "$0"
Аватара пользователя
kotkovets

Re: [архив].: NSIS - все вопросы :.

Сообщение kotkovets »

yyv,
ликбез


В NSIS получить базовую единицу:



Код:

Код: Выделить всё

System::Call "user32::GetDialogBaseUnits()i.R9"

В $R9 - базовая единица

Это вам Вам надо???? это выходит за рамки темы..
Аватара пользователя
sawe

Re: [архив].: NSIS - все вопросы :.

Сообщение sawe »

Цитата CyberMaster:



У меня Windows 7 x64
[архив].: NSIS - все вопросы :.




С этого и надо бы начинать!

InstallDirRegKey - имеет доступ только к 32-разрядному виду реестра.

Поэтому нужно редирект делать в первой функции.

Для начало подключаем хедер к телу скрипта - !include x64.nsh



Код:

Код: Выделить всё

Function .OnInit
   ${If} ${RunningX64}
         SetRegView 64 ;включаем 64-разрядный вид
         ClearErrors
         ReadRegStr "$INSTDIR" HKLM "SOFTWARE\TeamSpeak 3 Client" ""
         ${If} ${Errors}
         ${OrIf} "$INSTDIR" == ""
            StrCpy "$INSTDIR" "$PROGRAMFILES\Directory"
         ${EndIf}
         SetRegView 32 ;включаем 32-разрядный вид (для 32-битных приложений)
   ${EndIf}
FunctionEnd

Этот код почти аналог - InstallDirRegKey в х64
Ответить

Вернуться в «Автоматическая установка приложений»