|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.04.2017, 12:06 | #1 |
Пользователь
Регистрация: 27.07.2009
Сообщений: 19
|
как захватить окно и нажать ок!?
Здравствуйте. На ПК сотрудниках устанавливаем программу, в конце выходит окошка и нужно нажать ок!
как захватить данное окно и нажать да, автоматический? Чтобы все было в автономном режиме. Если есть код поделитесь пожалуйста. По сути нетрудная задача, но у меня знании не хватает. пытался через командную строку но никак. |
01.04.2017, 12:49 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
AutoHotkey, AutoIt
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
01.04.2017, 13:15 | #3 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
+ у многгих (если не у всех) инсталяторов есть ключи для тихой установки
|
01.04.2017, 19:55 | #4 |
Пользователь
Регистрация: 27.07.2009
Сообщений: 19
|
|
01.04.2017, 20:00 | #5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так и чем не вариант? AutoHotkey или AutoIt скрипты можно сделать в виде ехе.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
02.04.2017, 01:00 | #6 |
Пользователь
Регистрация: 27.07.2009
Сообщений: 19
|
не смог разобраться. Надо много времени.
Нашел 2 вида кода handle=FindWindow_(#Null,"{970C393F-F611-4722-B829-D8BA68B9C9AF}") If handle<>0 ; Button=FindWindowEx_(handle,0, 0,"ОК"); If Button<>0 ; PostMessage_(Button,#BM_CLICK,0,0); EndIf EndIf -- procedure TForm1.Button1Click(Sender: TObject); var h1,h2:HWND; begin h1:=FindWindow(nil,'{970C393F-F611-4722-B829-D8BA68B9C9AF}'); h2:=FindWindowEx(h1,0,'Button','ОК' ); SendMessage(h2,WM_LBUTTONDOWN,1,1); SendMessage(h2,WM_LBUTTONUP,1,1); //SendMessage(h2,WM_LBUTTONDOWN,1,1); //SendMessage(h2,WM_LBUTTONUP,1,1); end; Но почему то не работают, может неправильно скомпонировал? открывается окно и все. вроде должен в скрытном режиме работать. |
02.04.2017, 01:49 | #7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Настолько скрытном, что вы создали аж целую форму с кнопкой?
А что в AutoHotkey разбираться? Просто посмотрите туториал и список функций. Что-то типа такого Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
02.04.2017, 07:48 | #8 |
Форумчанин
Регистрация: 29.10.2015
Сообщений: 273
|
|
02.04.2017, 14:02 | #9 |
Пользователь
Регистрация: 27.07.2009
Сообщений: 19
|
Run("setup.exe")
WinWaitActive("{970C393F-F611-4722-B829-D8BA68B9C9AF}") Send("{ENTER}") Сделал так, запускает приложение, через минуту выходит окно которое нужно закрыть, не получился. Даже без программы когда нажимаю на Ентер не работает. Окно необычное. Даже ТАБ там не работает чтобы переключить на другую кнопку. Сама кнопка ОК синяя активная, на него действует только клик мышкой. Сделал так. WinWaitActive("{970C393F-F611-4722-B829-D8BA68B9C9AF}") MouseClick("left",58,12) координаторы кнопки в самой окне. не кликает. ControlClick Coords: 58, 12 такие параметры в проге показывает. Как правильно задать данные параметры? чтобы не зависело от разрешения монитора. Прилепляю отчет может по Handle определить окно? |
02.04.2017, 14:15 | #10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Странный Title.
Я бы лучше по классу искал. https://www.autoitscript.com/autoit3...WaitActive.htm Ну и проверьте для начала, что находится. Выведите месседжбокс и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти окно, нажать в нём кнопку. Не срабатывает с 1-2-ой попытки. | Человек_Борща | Win Api | 4 | 24.01.2012 00:55 |
Найти окно ошибки и нажать OK | Shouldercannon | Общие вопросы Delphi | 8 | 01.05.2011 21:38 |
Нужно программно найти окно программы и нажать на нем кнопку | SeRыЙ | Win Api | 23 | 09.03.2010 08:00 |
Как захватить одно из двух окон с одинаковыми классами и без имени? | TwiX | Общие вопросы Delphi | 11 | 05.08.2009 11:03 |
Как захватить весь вывод в консоли??? | alexfmf | Общие вопросы Delphi | 5 | 13.05.2009 21:54 |