|
Компьютерный форум 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 | Цитировать подскажите как запустить через execcmd или execdos приложение с параметрами. я не понял как это сделать
|
Отправлено: 16:59, 17-11-2013 | #771 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 136
|
Профиль | Отправить PM | Цитировать |
Отправлено: 18:20, 17-11-2013 | #772 |
Пользователь Сообщения: 136
|
Профиль | Отправить PM | Цитировать Добрый день... Не думаю, что получу ответ, но... Применял с успехом код для поиска открытых окон приложений:
!include LogicLib.nsh showinstdetails show outfile wind.exe Section System::Get "(i.r1) iss" Pop $R0 System::Call "user32::EnumWindows(k R0,i) i.s" loop: Pop $0 StrCmp $0 "callback1" 0 done System::Call "user32::IsWindowVisible(ir1)i.r2" ${If} $2 <> 0 System::Call "user32::GetWindowText(ir1,t.r2,i${NSIS_MAX_STRLEN})" System::Call "user32::GetClassName(ir1,t.r3,i${NSIS_MAX_STRLEN})" IntFmt $1 "0x%X" $1 DetailPrint "$1 - [$3] $2" ;дескриптор-класс-имя ${EndIf} Push 1 # callback's return value System::Call "$R0" Goto loop done: System::Free $R0 Sectionend |
Отправлено: 17:49, 19-11-2013 | #773 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать Цитата Salmo:
|
|
Отправлено: 18:21, 19-11-2013 | #774 |
![]() Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата MKN:
И такому поведению есть место, например, у меня тоже NSIS скрипт не находит через FindWindow окно "Kaspersky Internet Security" когда запущен антивирь, в то время как программа "InqSoft Window Scanner" явно даёт понять, что данное окно всё-таки существует и в своём списке его отображает... |
|
------- Отправлено: 19:56, 19-11-2013 | #775 |
Пользователь Сообщения: 136
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
![]() |
|
Отправлено: 22:35, 19-11-2013 | #776 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
![]() Может прграмма построена, так , что игнорируются API вызовы, "направленные" на её оконные формы и пр ? Всё же это антивирус... А вышеприведённый код, ведь API_шный... Можно попробовать подойти к такой задаче по другому - или искать окно, принадлежащее процессу или использовать WMI |
|
Последний раз редактировалось MKN, 20-11-2013 в 09:15. Отправлено: 09:07, 20-11-2013 | #777 |
Пользователь Сообщения: 136
|
Профиль | Отправить PM | Цитировать Цитата MKN:
Я не думал, что это слово вызовет затруднение... ![]() или искать окно, принадлежащее процессу - поподробнее можно, пожалуйста. |
|
Последний раз редактировалось Salmo, 20-11-2013 в 10:16. Отправлено: 10:10, 20-11-2013 | #778 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать Цитата Salmo:
![]() |
|
Отправлено: 10:16, 20-11-2013 | #779 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать Цитата Salmo:
Если перебрать все окна ,созданные всеми имеющимися в данный момент, процессами, то сделать снимок процессов, разобраться с ним и для каждого использовать функции EnumThreadWindows() и EnumThreadWndProc. Как то так. Это много кода и гемора. Подробности знают наши гуру. ![]() ps Найти "Window Title", зная имя процесса, можно с помощью малюсенькой утилитки CProcess. Она уже упоминалась здесь. |
|
Последний раз редактировалось MKN, 20-11-2013 в 11:29. Отправлено: 10:48, 20-11-2013 | #780 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|