通过vb.net将焦点设置为webbrowser中的java-inputdialog

时间:2013-03-12 10:49:52

标签: java vb.net browser setfocus

我有一个带有webbrowser的小应用程序。在这个webbrowser中,一个网页加载了一个JAVA小程序。这个java applet有输入提示,如图中所示的提示

我需要能够通过vb.net按钮在此输入对话框中键入文本。但我无法以编程方式将焦点设置到此输入上。

任何帮助表示赞赏!

enter image description here

1 个答案:

答案 0 :(得分:1)

使用钩子有几种方法可以做到这一点。第一个是使用SetWindowsHookEx

创建本地钩子
SetWindowsHookEx(WH_CALLWNDPROCRET, NativeMethods.HookProc,
                        IntPtr.Zero, (uint)AppDomain.GetCurrentThreadId());

并收听WM_INITDIALOG窗口消息,然后找到输入文本框并插入所需文本。 Suppressing Hosted WebBrowser Control Dialogs

中的示例代码

第二种方法是使用SetWinEventHook函数和钩子EVENT_SYSTEM_DIALOGSTART事件和其余的处理是一样的。您可以在https://github.com/jsulak/Switcheroo/blob/master/ManagedWinapi/AccessibleObjectListener.cs

中找到示例代码