установить фокус на java-inputdialog внутри веб-браузера через vb.net

У меня есть небольшое приложение с веб-браузером. в этом веб-браузере веб-страница загружается с помощью апплета JAVA. этот java-апплет имеет подсказки ввода, подобные показанным на изображении.

мне нужно было бы иметь возможность набирать текст внутри этого диалогового окна ввода с помощью кнопки vb.net. но я не могу установить фокус на этот вход программно.

любая помощь приветствуется!

введите здесь описание изображения


person sharkyenergy    schedule 12.03.2013    source источник


Ответы (1)


Есть несколько способов сделать это с помощью хуков. Первый — создать локальный хук с помощью SetWindowsHookEx.

SetWindowsHookEx(WH_CALLWNDPROCRET, NativeMethods.HookProc,
                        IntPtr.Zero, (uint)AppDomain.GetCurrentThreadId());

и прослушайте сообщения Windows WM_INITDIALOG, затем найдите текстовое поле ввода и вставьте нужный текст. Пример кода в Подавление диалоговых окон управления размещенным веб-браузером

Второй способ — использовать функцию SetWinEventHook и перехватывать события EVENT_SYSTEM_DIALOGSTART, а остальная часть обработки такая же. Вы можете найти пример кода в https://github.com/jsulak/Switcheroo/blob/master/ManagedWinapi/AccessibleObjectListener.cs

person volody    schedule 13.03.2013