3

Windows 7 では、アプリケーションはタスクバーで Windows をグループ化する方法を制御できます。Windowsには、実行可能ファイル、ショートカットの作成方法、プログラムの名前などに関連するデフォルト設定がいくつかあり、デフォルトのグループ化を適用します。Java のようなホスト ベースのアプリケーションの問題は、同じ実行可能ファイルが多くのプログラムで使用されるため、Windows には javaw.exe がホスト アプリケーションであることを設定するためのレジストリ設定があることです。これが発生した場合、アプリケーションは実行時に Windows をグループ化し、タスクバーへのピン留めを有効にする方法を構成する必要があります。必要に応じて Windows をグループ化するために、既にアプリケーション ユーザー モデル IDを設定しています。

私が解決策を見つけられなかった問題は、マルチウィンドウアプリケーションの場合です: タスクバーで使用される安定したアイコンを設定する方法は?. アプリケーションのデフォルトの Windows の動作、たとえば 2 つのウィンドウがあり、各ウィンドウには独自のアイコンがあり、タスク バー アイコンは最初に開いたウィンドウのアイコンを表示し、そのウィンドウを閉じると別のウィンドウに変わり、このプロセスは、ウィンドウが開閉されるたびに繰り返されます。

ユーザーがアプリケーションをタスクバー設定System.AppUserModel.RelaunchIconResource ウィンドウ プロパティに固定するときにアイコンを設定する API がありますが、ドキュメントには、アプリが固定されているときにこのアイコンが使用されると記載されているため、それに従ってのみ使用されます。アプリケーションが固定されたアプリケーションから実行されている場合、固定できない (または開発者が固定を許可しない) アプリケーションの問題は未解決のままです。

アイコンを使用して新しい実行可能ファイルを生成する (そのアプリケーションから JVM を起動する)、正しい AppUserModelID でショートカットを作成するなどのオプションがあります。アプリケーションはJava WebStart/JNLPを使用して配布されているため、これらは私にとっての解決策ではありません。そのため、アプリケーションのショートカットはJavaによって作成され、ランチャーはホストアプリケーションとしてマークされています(そうあるべきです)

もう 1 つの解決策は、Windows 7 での実行時に各ウィンドウに同じアイコンを設定することです。そのアイコンは、タスクバーのアイコンを除いて、Aero モードの Windows 7 ではあまり目立ちませんが、Aero を無効にすると、ウィンドウのプレビューなしでAlt + tabスイッチャーで使用されるアイコン、ウィンドウごとに異なる外観を残したい

注: これはタグ付けされた Java ですが、実際には、ホスト実行可能ファイル (javaw.exe、python.exe ...) を使用するプラットフォームについての質問です。

4

0 に答える 0