PDA

Показать полную графическую версию : [архив].: NSIS - все вопросы :.


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 [153] 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170

Limonica
16-08-2012, 14:58
Имеется ли в NSIS команда аналогичная команде в CMD Windows - "SC" (работа со службами)?

Даже не так, нужно просто отредактировать название службы, просто обошёлся параметром WriteRegStr

Vincent7
16-08-2012, 20:01
K.A.V., не получается у меня. Делаю так
Function func
nsDialogs::Create 1018
${NSD_CreateCheckbox} 25u 27u 68u 14u "checkbox"
pop $checkbox
getfunctionaddress $0 text
nsDialogs::OnNotify $checkbox $0
nsDialogs::Show
FunctionEnd

Function text
${NSD_CreateLabel} 0 5u 100u 10u "note"
FunctionEnd

Ведь надпись note должна по идее появлятся только когда курсор на чекбоксе, а она там сразу есть

Creator000
16-08-2012, 20:45
Krinkels, подскажите такую программу.
Но вы меня не поняли. Из папки temp в учебнике брали какие то два файла. Выше писал. Зачем?

K.A.V.
16-08-2012, 21:36
Vincent7, не знаю, почему так работает nsDialogs, я в нём не разбирался

Можно таким способом "выкрутиться", но это как-то не красиво получается...


Var Label
Var MyVar

Function func
nsDialogs::Create 1018
${NSD_CreateCheckbox} 25u 27u 68u 14u "checkbox"
pop $checkbox

${NSD_CreateLabel} 0 5u 100u 10u ""
pop $Label

${NSD_OnNotify} $checkbox text

nsDialogs::Show
FunctionEnd


Function text
IntCmp $MyVar 2 0 +2 0
${NSD_SetText} $Label "note"
IntOp $MyVar $MyVar + 1
FunctionEnd

kotkovets
17-08-2012, 01:08
не знаю, почему так работает nsDialogs, я в нём не разбирался »
здесь плагин возвращает в стек указатель на структуру нотификации.
А со структуры (с нужного члена структуры) можно судить: вышел или нет за пределы курсор мыши прямоугольной области чекбокса. Но с чекбоксом плагин возвращает неадекватные значения членов структуры - именно чекбоксами такой глюк, может быть винда - с остальными элементами контролов вроде бы нормально.
Как вариант - в событии нотификации вычислять в "ручную" прямоугольную область чекбокса и координаты курсора мыши....
Очень громоздко и сложный код - не охота возиться.
Проще плагином воспользоваться (тултипы - всплывающие надписи при наведении курсора)
http://nsis.sourceforge.net/ToolTips_plug-in

MKN
17-08-2012, 17:43
интересует перепаковка программ (это когда программа лишается своего установщика и надо свой написать). »
Для этого нужно чётко знать и представлять сценарий установки программы. Т.е. что происходит и в какой последовательности, при/после установки с файловой системой и реестром, какие устанавливаются/запускаются "дополнения(службы, сервисы, драйверы и пр.) и т.д.
И только на основании знаний об этих всех действиях, можно делать собственный инсталлятор. Инсталлятор в свою очередь, должен делаться с соблюдением ряда общепринятых правил. И только "на десятом месте" будет всякая ерунда, типа оформления-дизайна и др. не принципиальных вещей...
А установка Oper_ы, описанная в справочнике - всего лишь пример установки готовых инсталляторов из скрипта (с рассказом что, как и зачем), где файл opera installer.msi - собственно сам инсталлятор, а 1049.MST - русскоязычный файл сценария установки этого инсталлятора. Ну и install_flash_player.exe - понятно что.

MKN
17-08-2012, 18:17
Как вариант - в событии нотификации вычислять в "ручную" прямоугольную область чекбокса и координаты курсора мыши.... »
А можно ведь возле чекбокса поместить картиночку и наводить мышь на неё, с последующим "всплытием" чего либо.. Это не проще ли получится ?

Creator000
19-08-2012, 21:17
ошибка: File: "{C:\Program Files\NSIS\Contrib\Graphics\My\orange-nsis.bmp" -> no files found
картинка там лежит. почему он ее не видит какие могут быть причины?

K.A.V.
19-08-2012, 21:35
картинка там лежит »
Лежит, но не там

почему он »
Кто?

не видит »
какие могут быть причины? »
1. "Он" ослеп
2. "Он" невнимательный
3. Вы "его" обманули

Creator000
19-08-2012, 21:48
Лежит, но не там »
http://i40.fastpic.ru/big/2012/0819/12/ca0f36857fb842ca9cd3c07ea3078412.png

1. "Он" ослеп
2. "Он" невнимательный
3. Вы "его" обманули »
Давай еще варианты.

K.A.V.
19-08-2012, 22:04
да ладно? »
ага
Скрином не убедили

Давай еще варианты. »
А что вам ещё дать? :biggrin:
Ну хорошо, держите ещё парочку ;)

1. Вы слепой
2. Вы невнимательный


P.S.
лааадно, вот вам подсказка:
Скопируйте путь не существующего файла из лога ошибки и вставьте в Пуск => Выполнить

Creator000
19-08-2012, 22:18
Скопируйте путь не существующего файла из лога ошибки и вставьте в Пуск => Выполнить »
я вставил C:\Program Files\NSIS\Contrib\Graphics\My\orange-nsis.bmp. открылась картинка. что не правильного?

K.A.V.
19-08-2012, 22:25
что не правильного? »
из лога ошибки »
Вставьте то, что указано в логе...

"{C:\Program Files\NSIS\Contrib\Graphics\My\orange-nsis.bmp" »

K.A.V.
19-08-2012, 22:51
{C:\Program Files\NSIS\Contrib\Graphics\My\orange-nsis.bmp

K.A.V.
19-08-2012, 22:58
а как ее убрать? »
Всмысле как?? Смотрите скрипт своего инсталлятора, где вы там указывали путь к своему изображению, в коде и делайте поправку

Begin2Fly
20-08-2012, 17:43
можно из чужого установщика вытащить интерфейс NSIS? »
Нельзя.

Begin2Fly
20-08-2012, 18:57
Creator000, маловероятно, потому что неизвестно что будет с самим NSIS в ближайшем будущем.

K.A.V.
20-08-2012, 18:58
можно из чужого установщика вытащить интерфейс NSIS? »
Именно внешний вид диалогов (как расположены элементы) и сами файлы изображений - да
Для просмотра и извлечения внешнего вида диалогов воспользуйтесь программой ResHacker
Чтобы вытащить файлы изображений - откройте инсталлятор с помощью программы 7-Zip

Creator000
20-08-2012, 20:31
K.A.V., ну естественно мне нужен внешний вид установщика. а что еще то нужно?
Чтобы вытащить файлы изображений - откройте инсталлятор с помощью программы 7-Zip »
это да (и winrar может) но иногда выходит ошибка. файл не может быть открыт как архив.

Creator000
20-08-2012, 22:46
K.A.V., а как сохранять ресурсы например картинки из этой программы? они сохраняются в rc файле




© OSzone.net 2001-2012