我有一个带有webbrowser的小应用程序。在这个webbrowser中,一个网页加载了一个JAVA小程序。这个java applet有输入提示,如图中所示的提示
我需要能够通过vb.net按钮在此输入对话框中键入文本。但我无法以编程方式将焦点设置到此输入上。
任何帮助表示赞赏!
答案 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
中找到示例代码