Страница 1 из 1

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 05 июн 2018, 19:54
dadreamer
Аня писал(а):А как можно запустить файл с параметрами? К примеру, Хром: Программа=chrome, Параметр = yandex.ru.
Чуть модифицировал :vi: . Теперь можно запустить с параметрами.

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

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

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

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

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

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