我在C#中将Java access Bridge API与互操作一起使用。尝试使用从user32.dll方法accessibleWindow
获得的hwnd创建新的GetForegroundWindow()
时,它不会将该窗口识别为Java窗口,并返回null。 IsJavaWindow()
返回false,但是第二次调用则返回true。我使用示例“ SwingSet2”应用程序对此进行了测试。
public void Initialize()
{
if(!Initialized)
{
accessBridge = new accessBridge();
var hwnd = WindowsnativeMethods.GetForegroundWindow();
var window = accessBridge.CreateaccessibleWindow(hwnd);
window.accessBridge.Initialize();
window.accessBridge.Functions.GetaccessibleContextFromHWND(hwnd,out vmId,out mainContext);
Initialized = true;
}
}
我也在使用此仓库中的代码:Google Access Bridge