читать браузер "в памяти HTML" из EXE - PullRequest
0 голосов
/ 12 января 2012

Мне нужно прочитать HTML-код «в памяти» веб-страницы, отображаемой в «Internet Explorer 8», из внешнего процесса (EXE-приложения).

Проще говоря, допустим, вы загружаетестраница в вашем браузере, на которой отображается некоторый текст «INPUT TEXT», затем вы заполняете «INPUT» и «перед» отправкой страницы, которую мне нужно, чтобы переключиться в мое EXE-приложение и прочитать значения, заполненные «INPUT».пробовал SPY ++, но нет никакого «класса» для какого-либо ВХОДА на веб-странице (как это будет для текстовых полей в обычных приложениях Win32), и вся клиентская область браузера отображается как класс «Internet Explorer_Server».

Я делал это много раз, чтобы интегрировать данные между приложениями, но всегда с приложениями Win32, это первый раз, когда я пытаюсь читать из браузера, и я действительно в растерянности.

Единственное, что я точно понимаюзаключается в том, что мне нужно каким-то образом получить доступ к фактическому DOM работающего браузера.

Обратите внимание, что Я не могу использовать какой-либо веб-элемент управления чтобы загрузить страницу, а затем проанализировать, так как загруженная страница будет пустой, и мне нужны данные, которые пользователь ввел перед отправкой страницы.

Любое предложение, с которого следует начать поиск, будет оценено:)

1 Ответ

1 голос
/ 12 января 2012

Вы не можете получить доступ к содержимому окна браузера IE, используя HWND s, потому что их нет.Начиная с HWND окна "Internet Explorer_Server", вы можете извлечь из него IHTMLDocument2 интерфейс , а затем использовать интерфейсы DOM IE для доступа и управления содержимым браузера по мере необходимости.

Как получить IHTMLDocument2 из HWND

Интерфейсы и объекты сценариев

Интерфейс IHTMLDocument2

...