Установить фокус на java-inputdialog внутри веб-браузера через vb.net
У меня есть небольшое приложение с веб-браузером. в этом веб-браузере веб-страница загружается апплетом JAVA. этот Java-апплет имеет входные подсказки, как показано на рисунке
мне нужно было бы иметь возможность набирать текст в этом диалоговом окне ввода через кнопку vb.net. но я не могу установить фокус на этот вход программно.
любая помощь приветствуется!
1 ответ
Есть несколько способов сделать это с помощью хуков. Первый - создать локальный хук с помощью SetWindowsHookEx.
SetWindowsHookEx(WH_CALLWNDPROCRET, NativeMethods.HookProc,
IntPtr.Zero, (uint)AppDomain.GetCurrentThreadId());
и прослушайте сообщения окон WM_INITDIALOG, затем найдите текстовое поле ввода и вставьте необходимый текст. Пример кода в Подавление диалоговых окон управления размещенным веб-браузером
Второй способ - использовать функцию SetWinEventHook и перехватывать события EVENT_SYSTEM_DIALOGSTART, а остальная часть обработки такая же. Вы можете найти образец кода в https://github.com/jsulak/Switcheroo/blob/master/ManagedWinapi/AccessibleObjectListener.cs