0

我有一个带有网络浏览器的小应用程序。在这个网络浏览器中,一个网页加载了一个 JAVA 小程序。此 java 小程序具有输入提示,如图像中所示

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

任何帮助表示赞赏!

在此处输入图像描述

4

1 回答 1

1

有几种方法可以通过使用钩子来做到这一点。第一个是使用 SetWindowsHookEx 创建本地挂钩

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

并收听 WM_INITDIALOG windows 消息,然后找到输入文本框并插入所需的文本。抑制托管 WebBrowser 控件对话框中的示例代码

第二种方法是使用 SetWinEventHook 函数和 hook EVENT_SYSTEM_DIALOGSTART 事件,其余处理是一样的。您可以在https://github.com/jsulak/Switcheroo/blob/master/ManagedWinapi/AccessibleObjectListener.cs中找到示例代码

于 2013-03-13T17:09:55.277 回答