Я хочу получить собственный дескриптор окна окна PowerPoint с помощью Java / JACOB. Документация MSDN, похоже, предполагает, что можно просто захватить свойство «HWND», поэтому я пытаюсь сделать это так:
app = new ActiveXComponent("PowerPoint.Application");
Dispatch presentations = app.getProperty("Presentations").toDispatch();
presentation = Dispatch.call(presentations, "Open", fileLocation).toDispatch();
EnumVariant windows = new EnumVariant(Dispatch.get(presentation, "Windows").toDispatch());
Dispatch window = windows.nextElement().toDispatch();
Dispatch.get(window, "HWND"); //Exception here
Однако, похоже, я не могу получить дескриптор окна таким образом - я получаю следующую ошибку:
Exception in thread "main" com.jacob.com.ComFailException: A COM exception has been encountered:
At Invoke of: HWND
Description: 80020003 / Member not found.
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:625)
at com.jacob.com.Dispatch.get(Dispatch.java:788)
at tester.PowerpointSlideShowRunner.<init>(PowerpointSlideShowRunner.java:54)
at tester.PowerpointSlideShowRunner.main(PowerpointSlideShowRunner.java:154)
Это ошибка в библиотеке, или я что-то делаю не так / что-то не понимаю? Последнее вполне возможно, поскольку я совершенно новичок в Джейкобе. В любом случае, как мне получить HWND окна Powerpoint с помощью JACOB?