|
Компьютерный форум 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 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Подскажите еще по такому вопросу. Использую плагин NsisCrypt, при шифровании - дешифровании текста, на моем ПК приложение работает корректно. При запуске его на других ПК появляется ошибка "Error while acquiring Windows CryptoAPI context". Вроде как есть решение, есть баг репорт, но совершенно не пойму как его использовать. Был бы очень благодарен если поможете разобраться.
https://sourceforge.net/p/angabin/bugs/1/ |
Отправлено: 15:57, 26-01-2016 | #1951 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать lavey13,
Похоже, это баг самого плагина. уже обсуждалось : http://stackoverflow.com/questions/1...t-on-all-but-d там же, вроде как и предложен фикс для NsisCrypt.cpp |
Отправлено: 17:00, 26-01-2016 | #1952 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать MKN, то есть нужно брать код этого фикса, заменить в исходнике NsisCrypt.cpp и скомпилировать весь проект плагина в dll?
|
Последний раз редактировалось lavey13, 26-01-2016 в 17:05. Причина: Уточнение информации Отправлено: 17:02, 26-01-2016 | #1953 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать lavey13,
получается, именно так... |
Отправлено: 17:04, 26-01-2016 | #1954 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать NSIS How to send Email with CMD use bmail.exe or blat.exe
My example not work ExecWait '"$SYSDIR\cmd.exe" /c $PLUGINSDIR\bmail.exe "bmail -s smtp.mail.yahoo.com -p 587 -t myemail@yahoo.com -f fromemail@yahoo.com -h -a NSIS -b Not Work..."' |
Отправлено: 20:39, 26-01-2016 | #1955 |
Пользователь Сообщения: 126
|
Профиль | Отправить PM | Цитировать Хм. народ вопрос имеется по ини-шкам..
Все правится меняется это хорошо, одна бяда, строки уезжают в конец секции. Как внести изменения в файл без танцев с бубнами и переездом строк на новое местоположение ?! Кусок примера инишки значения параметров которые надо изменить.: У кого какие мысли есть ?! |
Отправлено: 21:54, 27-01-2016 | #1956 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Dodakaedr, я персонально в личке никому не отвечаю по NSIS, зачем тогда нужен форум?
Я же вам тут написал, при поиске указывайте в качестве родителя предыдущее найденное окно и прочитайте описание команды FindWindow в оригинальной справке, я же не просто так это всё написал. Ну, а раз вам перечисление не нужно и текст на кнопке не меняется, то вам и цикл не нужен Ваш код должен быть таким: FindWindow $0 "" "ИМЯ ОКНА ПОДСТАВЬТЕ сами, модеров форума не хочу смущать :)" FindWindow $1 "${WNDCLASS}" "${WNDTITLE}" $0 FindWindow $2 "${WNDCLASS}" "${WNDTITLE2}" $0 SendMessage $1 ${BM_CLICK} 0 0 SendMessage $2 ${BM_CLICK} 0 0 SendMessage $0 ${WM_CLOSE} 0 0 При указании 3-го параметра в команде FindWindow, мы заставляем искать наши кнопки в конкретном окне-родителе, т.е. в окне вашего приложения Если не понимаете суть родительских-дочерних окон и как это всё устроено - советую почитать инфу на просторах интернета, чтобы было понимание, как всё это дело в винде устроено |
------- Отправлено: 17:19, 29-01-2016 | #1957 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать K.A.V.,
FindWindow [HWND] [Class] [Title] работает почему то далеко не со всякими окнами... Есть окна (особливо в некоторых кейгенах), где даже с элемента на элемент нельзя переместиться никакими силами (ни конкретным указанием на, как будто найденные параметры элемента, ни эмуляцией нажатий стрелок, Tab_а и пр.) |
Отправлено: 17:36, 29-01-2016 | #1958 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата MKN:
Насчет перебора допустим, кнопок, вот вам код, как это должно выглядеть, может кому пригодится Пример на поиске кнопок и определения их текста в окне MakeNSISW (GUI-комплиятор в папке NSIS) Скрытый текст
!include "LogicLib.nsh" !include "WinMessages.nsh" Name "TEST" OutFile "TEST.exe" Function .onInit StrCpy $1 "1" ; Чтобы while с первого же раза не закрылся FindWindow $0 "#32770" "MakeNSISW" IsWindow $0 +3 0 ; проверка на существование окна MessageBox MB_OK|MB_ICONSTOP "Окно MakeNSISW не найдено" quit ${While} $1 != "0" ; когда кнопок больше не останется - выход из цикла FindWindow $1 "Button" "" $0 $2 ; $0 - указываем, что мы будем искать кнопки в окне MakeNSISW, т.е. указываем окно-родителя, $2 - мы указываем предыдущую найденную кнопку, чтобы не стоять на месте с определением первой кнопки SendMessage $1 ${WM_GETTEXTLENGTH} 0 0 $4 ; получаем количество символом текста на кнопке IntOp $4 $4 + 1 ; к количеству символов текста на кнопке прибавляем 1, т.к. кнопки у нас с "&" System::Call 'User32::GetWindowText(i$1, t.r3, i$4)' ; получаем текст на кнопке StrCpy $2 $1 ; помещаем в переменную $2 HWND найденной кнопки, чтобы продолжить поиск кнопок с этой найденной кнопки IsWindow $1 0 +2 ; проверяем существование кнопки, чтобы в конце определения не получить лишний мессадж MessageBox MB_OK|MB_ICONINFORMATION "HWND кнопки: $1$\nТекст на кнопке: '$3'" ${EndWhile} quit FunctionEnd Section SectionEnd Пример на поиске кнопки "Close" в MakeNSISW (GUI-комплиятор в папке NSIS) Скрытый текст
!include "LogicLib.nsh" !include "WinMessages.nsh" Name "TEST" OutFile "TEST.exe" Function .onInit StrCpy $1 "1" ; Чтобы while с первого же раза не закрылся FindWindow $0 "#32770" "MakeNSISW" IsWindow $0 +3 0 ; проверка на существование окна MessageBox MB_OK|MB_ICONSTOP "Окно MakeNSISW не найдено" quit ${While} $1 != "0" ; когда кнопок больше не останется - выход из цикла FindWindow $1 "Button" "" $0 $2 ; $0 - указываем, что мы будем искать кнопки в окне MakeNSISW, т.е. указываем окно-родителя, $2 - мы указываем предыдущую найденную кнопку, чтобы не стоять на месте с определением первой кнопки SendMessage $1 ${WM_GETTEXTLENGTH} 0 0 $4 ; получаем количество символом текста на кнопке IntOp $4 $4 + 1 ; к количеству символов текста на кнопке прибавляем 1, т.к. кнопки у нас с "&" System::Call 'User32::GetWindowText(i$1, t.r3, i$4)' ; получаем текст на кнопке StrCpy $2 $1 ; помещаем в переменную $2 HWND найденной кнопки, чтобы продолжить поиск кнопок с этой найденной кнопки ${If} $1 != "0" ; проверяем существование кнопки, чтобы в конце определения не входить лишний раз в if ${If} $3 == "&Close" ; если текст на кнопке "&Close" - это наша кнопка MessageBox MB_YESNO|MB_ICONQUESTION "Кнопка Close найдена, нажимаем?" idno +2 SendMessage $1 ${BM_CLICK} 0 0 ${EndIf} ${EndIf} ${EndWhile} quit FunctionEnd Section SectionEnd |
|
------- Отправлено: 08:44, 30-01-2016 | #1959 |
Ветеран Сообщения: 860
|
Профиль | Отправить PM | Цитировать Подскажите, существует ли плагин или макрос по работе с фаерволом (добавление, удаление и проверка правил)?
|
------- Отправлено: 19:56, 30-01-2016 | #1960 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|