9

現在、Java アプリケーションを Windows 7 タスクバーに固定しようとしています。アプリケーションはLaunch4jで起動されます。プログラム アイコンは正しく表示されますが、タスク バーのアイコンを右クリックすると、[ウィンドウを閉じる] というエントリを含むコンテキスト メニューしか表示されません。アプリケーションをタスクバーに固定するためのメニュー エントリはありません。EXE ファイルをタスクバーにドラッグしても、正しく動作しません。タスクバーでこの新しいランチャーをクリックすると、タスクバーに 2 つ目のアイコンが生成されます。

問題を解決するために、これら 2 つの質問に対する解決策の指示に従いましたが、役に立ちませんでした。

2 番目の質問/ソリューションの JNA はコンパイルされ、例外はスローされません。設定後にアプリIDを読み取ることができます。しかし、アプリケーションをタスクバーに固定することはまだできません。

問題を示す小さなテスト アプリケーションを Github で作成しました。

https://github.com/kayahr/launch4jtest

アプリケーションは、ビルド システムとしてMavenを使用します。実行するだけmvn packageで、ターゲット ディレクトリに ZIP ファイルが見つかります。この中には、EXE ファイルと、このアプリ ID を設定するために必要な jna.jar が含まれています。この ZIP を特定のディレクトリに解凍し、EXE をダブルクリックして、アプリケーションをタスクバーにピン留めしようとすると、問題が発生します。

では、このアプリケーションの何が問題なのですか?

4

2 に答える 2

5

注意: kayahr の要求に従って、メインの投稿に最初にいくつかのコメントを書き直しました :)

AppUserModelID情報を埋め込むアイコン ショートカットを作成する必要があります。InnoSetup は、[Icons]セクションの下にそのようなアイコン ショートカットを作成できます。JNA を介してAppUserModelIDに割り当てられたアプリケーション名を指定します。おすすめのリンク:

izpackインストーラー.jarファイルの.exeファイルの作り方

Launch4j、NSIS、およびピン留めされた Windows 7 タスクバー アイコンの複製

  1. EXE ファイル (アイコンのショートカットではない) を Windows 7 のタスクバーにドラッグ アンド ドロップして固定アイコンを作成すると機能します。
  2. EXE ファイルを実行し、後で [タスクバーに固定] オプション メニューを選択して固定アイコンを作成すると機能します。AppUserModelIDを設定しない場合、これは不可能です。Launch4J が javaw.exe を使用して実行可能 jar を呼び出すため、タスクバーに exe アイコンの代わりに javaw.exe の「アイコン」が表示されるなどの奇妙な動作が発生します (ピン留めされたアイコンの複製)。

Linux で Windows ベースのインストーラー ビルダーを実行するには、次のガイドを参照してください。

http://katastrophos.net/andre/blog/2009/03/16/setting-up-the-inno-setup-compiler-on-debian/

はい、kayahr が述べたように、この Windows 7 機能は、AppUserModelIDが埋め込まれたアイコン ショートカットがそのまま残っている (つまり、削除/削除されていない) 場合にのみ機能します。

于 2012-02-22T14:06:25.603 に答える