2

別のサードパーティアプリケーションの特定のウィンドウが作成または閉じられたときにウィンドウを作成して閉じるアプリケーションを構築しようとしています。これを達成する方法に関するポインタまたはサンプル コードは非常に役立ちます。ウィンドウでは、イベント AccessibleEvents.Create および AccessibleEvents.Delete に登録し、イベント ハンドラー内でそのウィンドウ クラス名をチェックすることにより、SetWinEventHook の助けを借りて同じことを達成しました。

4

1 に答える 1

0

経由で OS X 上のすべてのウィンドウのリストを取得できCGWindowListCopyWindowInfo()ます。ターゲット ウィンドウの詳細がわかっている場合は、そのウィンドウの可視性を監視し、それに基づいてアプリのウィンドウを表示/非表示にすることができます。これらのCGWindow*呼び出しを操作するには、Apple SonOfGrab のサンプル コードを確認してください。

または、ユーザーがアプリのアクセシビリティ サポートを有効にすると、画面上の他のプロセス ウィンドウに関する情報も取得できます。

ターゲット アプリケーションが将来変更された場合、画面上でそれを見つけようとしたときにアプリが適切に動作しない可能性があるという点で、これらのアプローチはどちらもやや壊れやすいことを指摘する価値があります。

于 2016-04-06T22:32:13.233 に答える