Page 1 of 1

Запуск приложения с контролем по HWND

PostPosted: 02 Jun 2018, 22:47
by Аня
 
Есть браузер. Я хочу чтобы он работал в фоновом режиме и контролировался моей программой.
Действия, которые я хочу с ним совершать: запуск, открытие URL, скрытие, закрытие.

Реализую задуманное средствами User32.dll. Но есть одна проблема.
Я не знаю как получить дескриптор окна непосредственно при старте браузера.

Функцию CreateProcess оказалось сложно использовать в LabVIEW, а иных способов я не знаю. Городить огород с поиском по имени вкладки тоже не хочется.

Кто-нибудь сталкивался с подобным?

Re: Запуск приложения с контролем по HWND

PostPosted: 02 Jun 2018, 23:36
by dadreamer
Попробуйте запускать через Execute with HWND Control 2.vi - viewtopic.php?p=77032#p77032 Только нужно указать класс окна (можно посмотреть через WinSpy++), иначе не всегда будете получать тот хэндл, что требуется.

Пример - запускаем IE: Программа=iexplore, класс окна=IEFrame.

Re: Запуск приложения с контролем по HWND

PostPosted: 05 Jun 2018, 11:54
by Аня
А как можно запустить файл с параметрами? К примеру, Хром: Программа=chrome, Параметр = yandex.ru.

Re: Запуск приложения с контролем по HWND

PostPosted: 05 Jun 2018, 19:54
by dadreamer
Аня wrote:А как можно запустить файл с параметрами? К примеру, Хром: Программа=chrome, Параметр = yandex.ru.

Чуть модифицировал :vi: . Теперь можно запустить с параметрами.

Re: Запуск приложения с контролем по HWND

PostPosted: 06 Jun 2018, 22:10
by rushonda
Советую использовать dll от selenium. Позволяет общаться с сайтами. При этом там есть режим фантом (браузер). который работает в фоновом режиме.
viewtopic.php?f=87&t=9531 - в конце краткое описание. Если нужно могу накатать пример небольшой

Re: Запуск приложения с контролем по HWND

PostPosted: 22 Jun 2018, 15:40
by Аня
Спасибо!
Инструмент Selenium оказался практически тем, что мне нужно.

PhantomJS, к сожалению, не подходит. В нём нет поддержки аудио и видео. Наиболее удобным оказался браузер Google Chrome, запущенный с флагом "headless".

Теперь мне нужно понять, как при посещении сайтов давать браузеру разрешение на использование web-камеры или микрофона. Желательно с выбором конкретного девайса из выпадающего списка. Можно ли вообще решить это чисто средствами Selenium?