Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


Сообщения: 1986
Благодарности: 723

Профиль | Сайт | Отправить PM | Цитировать


Цитата diakov:
Однако разобрацо нада »
Ну...Давайте разберём вместе, раз вам мой пример мало чего дал

Для того, чтобы нажать на кнопку - нужно сначала узнать её дескриптор
Если вы хотите нажать на кнопку внешнего инсталлятора, то сначала вам необходимо найти дескриптор окна инсталлятора, чтобы потом получить дескриптор кнопки
ищем дескриптор окна

Код: Выделить весь код
FindWindow $0 '#32770' 'Моя программа 1.0'


Можете добавить проверку наличия окна командой IsWindow
проверяем, существует ли искомое окно

Код: Выделить весь код
  IsWindow $0 +2 0
  MessageBox MB_OK|MB_ICONSTOP "Указанное окно не найдено"  idOK error



Если вам необходимо нажать на кнопку в своём инсталляторе, то можно не использовать вышеупомянутые 2 команды (поиск и проверка наличия окна), а сразу перейти к получения дискриптора кнопки
вот так

Код: Выделить весь код
GetDlgItem $1 $HWNDPARENT 1


При исполнении команды GetDlgItem, мы помещаем в переменную $1 дескриптор элемента у которого идентификатор 1 (смотрите ID элементов непосредственно через программы просмотров ресурсов, такие как ResHacker и Restorator)
Переменная $HWNDPARENT - это дескриптор окна вашего пакета инсталлятора, если вы определяете дескриптор окна внешнего инсталлятора с использованием команды FindWindow, то замените $HWNDPARENT переменной $0

В нашем случае идентификатор под номером 1 в команде GetDlgItem - это кнопка Далее в диалогах NSIS

Вот и всё, после того как узнали дескриптор кнопки, эмулируем нажатие посылкой Win сообщения
вот так

Код: Выделить весь код
SendMessage $1 ${BM_CLICK} 0 0


-------


Цитата Creator000:
че такое
Поисковик Google ещё никто не отменял
Попробуйте запустить программу от имени администратора, может UAC балуется?

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:38, 27-08-2012 | #3092