2011-03-15 8 views
1

GTKには、現在のウィンドウをすべて特定のプロセスで開いてもらえますか?理想的には、私はGtkWindowのインスタンスを取得できるようにしたいと思います。GTKでプロセス用に開いているウィンドウをすべて見つけ出す

java.awt.Window[] windows = java.awt.Window.getWindows(); 

とMicrosoftのUIオートメーションは、アプリケーションのためのすべてのウィンドウを取得する方法があります:私は、Java AWTがこれを持って知っています。とにかくGTKでこれを行うには?

gtk_window_list_topvelvels関数が見つかりましたが、あまりにも多くのウィンドウを返すようです。アプリケーションgeditには、コンピュータ上に30のトップレベルウィンドウがあります。これは、1つのウィンドウを持つアプリケーションでは多すぎるようです。

答えて

2

gtk_window_list_toplevels()は、プロセスのウィンドウのみを表示しますが、非表示のウィンドウも表示されます。したがって、Geditのようなアプリケーションのトップレベルウィンドウをリストすると、多くの隠された設定ウィンドウ、検索ダイアログ、そしておそらく多くのプラグインに関連する他のウィンドウがたくさんある可能性があります。あなた自身で書いたシンプルなワンウィンドウアプリケーションでまず試してみてください。メインウィンドウだけが返されることがわかります。

+0

もう少し調べましたが、私は質問を更新します。 –

+0

私は答えを更新します。 ;-) – ptomato

+0

これは私が必要なものです;)ウィンドウを取得し、現在表示されているかどうかを確認することで、私の最初の問題が解決されます。 –

関連する問題