2006年07月16日

Delphiで、タスクトレイにアイコンを表示するには

タスクトレイにアイコンを表示する方法ですが、フォームにポトリするだけでこの機能を実現するコンポーネントが沢山あるようなので、それらを使えば簡単です。ただ、小さいプログラムのためにわざわざコンポーネントをインストールするのも、ということでそれらを使わずに実現する方法です。すごく簡単で、検索すれば沢山出てきます。

タスクトレイにアイコンを追加する
http://homepage1.nifty.com/MADIA/delphi/Win32API/Tasktray.htm
このページの方法でまずは表示できるようになります。このサイトには他にもDelphiの役立つTipsが沢山。

次に同じウェブサイトのこのTipで、タスクバーにアプリケーションのアイコンをひょじしないように出来ます。タスクトレイにアイコンを表示するソフトは大抵が常駐用のソフトでタスクバーには表示されませんからね。

タスクバーにアイコンを表示させない
http://homepage1.nifty.com/MADIA/delphi/Win32API/AIconNoting.htm

同様のShowWindowLongメソッドがこちらのページにも解説されています。
タスクバーボタンを非表示に :: 謎奈の泉 -Delphi MemoPad-
http://uechoco.s14.xrea.com/delphi/memo0003.html

これで一通り出来るようになりましたが、タスクトレイのアイコンからポップアップメニューを呼び出した時の挙動がちょっとおかしい。メニューが消えないんですよね。これもこちらのページで解説されています。PopupMenu.Popupメソッドの前に、SetForegroundWindowを呼び出すといいらしい。

ポップアップメニューが消えない
http://90h.dip.jp/archives/2005/03/post.html

また、同様の操作はこちらのTipでもちゃんと行われてます。こちらではタスクバーが移動・再構築された時の対処も載っています。試していないのでわかりませんが。

Delphi Tips - アプリケーションを常駐させてタスクトレイに登録したい
http://www2.big.or.jp/~osamu/Delphi/tips.cgi?index=0207.txt

この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。