1

MacOSXでブラウザ(Safari、Chrome、firefox)用のプラグインを作ってきました

私がやろうとしているのは、アクセシビリティ API を使用して、NPAPI プラグインのブラウザー ウィンドウのサイズと原点を調べることです。

Chrome では欲しいものを取得できますが、Safari ではエラー コードが表示されます-25204

 AXUIElementRef app = AXUIElementCreateApplication( browserProcessID );

 AXUIElementRef frontWindow = NULL;
 AXError err = AXUIElementCopyAttributeValue(
                       app, kAXMainWindowAttribute, (CFTypeRef *)&frontWindow );

 if ( err != kAXErrorSuccess ) {
      NSLog(@"%d", err);
      return -1;
 }

-25204AXError.hの kAXErrorCannotComplete です。

しかし、理由はわかりません。

どんなコメントでも大歓迎です。

前もって感謝します。

4

1 に答える 1

1

このサイトに関するあなたの他の質問を考えると、あなたが実際に達成しようとしていることは、プラグインが画面上のどこにあるかを見つけることだと思います. そのために必要なのは、NPN_ConvertPoint を使用して、プラグインの (0,0) が画面座標のどこにあるかを見つけることだけです。これは、アクセシビリティを使用しようとするよりもはるかに簡単で、脆弱性が低くなります (実際には正しい答えが得られます。アクセシビリティを使用すると、可変であるウィンドウ ツールバーの高さについて想定する必要があります)。

于 2010-11-28T14:12:55.550 に答える