私は現在、バックグラウンドで実行中のJavaクロスプラットフォーム(WindowsおよびMac OS X)アプリケーションを開発しており、「コピー&ペースト」やプログラムの起動など、一部のユーザーまたはシステムのイベントにポップアップウィンドウを表示しています。フルスクリーンモードで実行されているJava以外のプログラムを検出するにはどうすればよいですか?
しかし、必ずしもJavaで開発されていない他のプログラムがフルスクリーンモードで実行されている場合、最初に検出したいと思います。その場合、私はウィンドウを表示しません。例えば 、ユーザが、だからここに...
をフルスクリーンでムービー(メディアプレーヤー...)、PowerPointプレゼンテーションを見ている私の質問です: 1にそんなことをする方法はありますJava言語? 2.可能でない場合は、別の言語で「フルスクリーンモード検出器」を実行しますが、Javaアプリケーションと通信してフルスクリーンウィンドウがあることを通知できる必要があります。 3.可能でない場合(1):それを行うための最良の言語をご存知ですか? C#またはC++ MFC(How to check if an other program is running in fullscreen mode, eg. a media player)で他のソリューションを見つけました。
どんなアイデアも非常に便利です。 ありがとうございました。
セバスチャン
興味深い回答、ありがとうございます。実際には、私のアプリケーションはすでにウィンドウを表示する直前にスクリーンショットをキャプチャしています。だからあなたはアルゴリズムでスクリーンショットを分析し、ウィンドウがフルスクリーンモードであるかどうかを判断することが可能だと思いますか?私は少し懐疑的です。映画を見ながら、フルスクリーンモードになっているかどうかを言うのが難しい場合もあるので、私は少し懐疑的です。 –
これは95%以上の精度で可能です。映画を見ていると、上下に黒い矩形があり、リンゴ/ウィンドウのロゴ、枠付きのウィンドウがないことを意味します。もちろん、実装するのは簡単ではありません。 – chro
唯一の代替案は、プラットフォームごとに実装されたJNIです(Windows API、Objective C、X11など)。 – chro