Я ищу, чтобы получить собственный дескриптор окна окна PowerPoint с помощью Java/JACOB. MSDN documentation, кажется, предполагают, что это должно быть возможно только захватить собственность «HWND», так что я пытаюсь, что вот так:JACOB получить 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?
«Документация MSDN, похоже, предлагает ...»: какая документация MSDN? Не документация по объектной модели PowerPoint, насколько я могу видеть: http://msdn.microsoft.com/en-us/library/ff744694.aspx –
@ChrisDickson Я действительно смотрел ссылку, которую я только что обновил. с, но я мог бы искать не в том месте, извините! Если да, то знаете ли вы, как лучше всего захватить HWND другим способом? – berry120