1

アプリケーションによってウィンドウが起動されていない場合でも、開いているウィンドウの座標を見つける必要があります。検索の結果、クォーツ ウィンドウ サービスに出会いました。ただし、リンク先の参照ドキュメントには、これがどこにあるかが記載されておらず、それについて見つけることができた唯一のドキュメントでした. 私は他のフレームワークの参照ドキュメントを調べましたが、言及するほどのものはありませんでした。

この問題は明らかに私自身の無知から生じたものであり、私は本当に聞きたくありませんでした. しかし、私はインターネット全体を検索しましたが、石英ウィンドウサービスの場所への参照をまったく見つけることができませんでした.

それはどこにある?それはフレームワークの一部ですか? もしそうなら、それはどのクラスにありますか? 私が知っているのは、そこに含まれる機能と、それらが私が必要としているものとまったく同じように見えることだけです!

よろしくお願いします。また、将来、自分でこれを理解する方法を知っていれば、それもありがたいです.

注: 問題があるかどうかはわかりませんが、C からではなく、JNA を使用して Java から呼び出すことを計画しています。

4

2 に答える 2

2

ええ、それは明らかではありません。「Quartz Window Services」を検索すると、次のような概要へのリンクを見つけることができました。https://developer.apple.com/library/mac/#documentation/Carbon/Reference/CGWindow_Reference/Reference/Introduction .html

これは、それが ApplicationServices フレームワークにあることを示しています。

于 2012-06-17T00:35:04.313 に答える
1

まず最初に、Java から C メソッドにアクセスする方法については 100% 確信が持てませんが (私自身は行ったことはありません)、ブリッジングが可能であれば、アクセシビリティ API を使用して実行中のすべてのアプリケーションのウィンドウを取得します (この関連する質問への回答を参照してください)。ウィンドウのリストを取得したら、それらの各ウィンドウが画面上に存在するフレーム (座標) を取得できます。

アクセシビリティ API の使用に関するもう 1 つの点は、ユーザーがそれを許可するには「オプトイン」する必要があることです。通常、デフォルトではオンになっていません。

あなたの質問によく一致する別の質問がありますが、受け入れられた回答は、独自の(現在実行中の)アプリケーションのウィンドウを取得するためのソリューションのみを提供します。

于 2012-06-17T00:35:41.167 に答える