INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
本業の方のお仕事が再び忙しくなりつつあるので、断続的にしばらく更新が止まることがあります。

目次 | ←前へ / 2014-11-25 00:02 / 次へ→ / 最新へ⇒

■意外と簡単だった、.NET Frameworkでの通知領域アイコンの作成

2014/11/25 0:02:15


RSSRSS配信中

https://www.inasoft.org/








今回、CaptureSaveAsを作成する上で、.NET Frameworkを使ったプログラミングに取り組んでみました。

というのも、画像ファイルをPNGとかJPEG形式で出力するために、専用ライブラリを組み込むのが面倒くさかったので。

せっかくなら、そういったライブラリが標準で取り込まれている.NET Frameworkを使った方が早いんじゃないかと目論みました。

ただ、不安だったのが、次の2点。

  • タスクバーの通知領域(タスクトレイ)へのアイコンの追加は簡単にできるか。
  • クリップボードを監視して、画像データを取り出すことは簡単にできるか。
結論から言うと、タスクトレイへのアイコンの追加は簡単にできました。

dnet_nficon1.jpg

タスクトレイへのアイコンについては、普通にコントロールを追加する感じで、「NotifyIcon」を追加すれば良い感じ。

dnet_nficon2.jpg

タスクトレイのアイコンを右クリックしたときに出てくるメニューについては、ContextMenuを紐づけるだけ。

dnet_nficon3.jpg

その他、アイコンをダブルクリックしたときの動作とかも、簡単に定義できます。

なんか、心配するだけ損した感じだなぁ。



ただ、「タスクトレイにプログラムが収納されている」ことを表現するために、ダイアログが画面に表示されていないときだけ、タスクバーからはボタンを消したかったのですが、そちらについては色々と苦労しました。ってか、色々考えた末、常にタスクバーボタンは表示しないことにしました。こちらについては後日書ければと思います。(クリップボード監視とも絡むので、そのことも含めて)

また、クリップボードを監視する方法については、.NET Framework標準では方法が準備されておらず、Windows API(AddClipboardFormatListener)と、Windowsメッセージの受信に頼ることになってしまいました。ここらへんは、.NET Frameworkのライブラリに不足を感じますね。まぁ、色々と手を尽くせば実現できなくもないあたりは、良かったんですけどね。

クリップボードから画像を取り出すことについては、.NET Frameworkで方法が準備されており、こちらの方法を使うことにしました。

振り返ってみれば、1日でプログラムを完成できたので、.NET Framework さすが!って感じです。

加えて、Googleで検索すれば、結構な量のサンプルコードがヒットするので、世界中の先人達に大感謝です。やっぱり、有名なライブラリの良いところは、こうして世界中にサンプルコードを公開してくれている人がいることでしょうね。




目次 | ←前へ / 2014-11-25 00:02 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。




2555275 (+0419)[+0556]

Copyright© 2010-2021 INASOFT