この記事では、ツールキットの機能を使用して、Windowsのタスクバーに通知を表示するための機能をLabVIEWで実装する方法を紹介しています。
ツールキットはVIパッケージマネージャからインストールすることができ、ユーザーへ提示する通知を、Windows標準の通知同様に表示させることができます。
通常のviのフロントパネルでそれっぽい見た目の通知を作成することもできますが、ツールキットを使用することで手軽に通知機能を実装したい場合には便利だと思います。
タスクバーの通知とは
この記事で言っている「タスクバーの通知」とは何のことか文章を見てもわからない、という方もいると思いますが、以下の図を見たら、あぁこれねと見覚えがある方が多いのではないかなと思います。(Windows10の場合)
LabVIEWでこのような通知画面を自力で作成することもできなくはない(フロントパネルを表示させるサブVIを用意する、など)と思いますが、既にこのような機能を実装できるツールキットがあるのであればありがたく使わせてもらおうということで、VIパッケージマネージャからツールキットをインストールします。
VIパッケージマネージャからツールキットをインストールする
今回使用するのはAverna Notify Iconというツールキットです。
これを入手するために使用するVIパッケージマネージャは、よく似た名前のNIパッケージマネージャが「NI製のソフトウェアを管理するためのツール」であるのに対して、「LabVIEWで使用できるツールキットを管理するためのツール」です。
LabVIEWをインストールしたら知らない間にインストールされていた、という方もいるかと思いますが、なかったとしてもNIパッケージマネージャからインストールすることができます。
この、LabVIEWで使用できるツールというのは無償あるいは有償で使えるものがありますが、今回紹介しているAverna Notify Iconは無償になっているようです(ライセンスの入力など求められていないことから判断しています)。
インストールの手順は単純で、VIパッケージマネージャを開いて、Averna Notify Iconを検索して指示通りにインストールするだけです。
以降の図ではNotify Icon以外のツールキットをインストールしている例ですが、操作は同じです。
項目を選択して、使用したいLabVIEWのバージョンを選択し、Installをクリックします。
途中表示される項目も基本的にデフォルト設定のまま先に進めます。
もしインストールの途中で以下の図のようなエラーが出た場合には、インストールは行われず終了します。
こんなときにはLabVIEW側で設定が必要です。
エラーが出た場合の対応方法としては、LabVIEWのメニューバーのツールを開いてオプションを選択し、VIサーバカテゴリにて「マシンアクセス」と「エクスポートVI」の二つにアスタリスクを追加します。
無事インストールが進むと、最後に項目のインストール許可の画面が出たら完了です。
実際に使ってみる
ツールキットをインストールすると、サンプルが入手できます。
サンプルを実行し、お知らせの表示がどのように出るかを確認します。
サンプルのNotify Icon Example.viを開いて確認してみます。
フロントパネルにある各種設定は直感的に使用できると思います。
アイコンやタイトル、文字を表示させるためにそれぞれの関数やプロパティノードが使用されているのもサンプルのブロックダイアグラムを見て一通り使い方がわかるかと思います。
実際にいくつか設定を変えて実行してみてください。
実行後、Show Balloonのボタンを押すことで通知を表示させます。
アイコンは自分で作成したものを使用することもできます。
なお、単に通知が表示されるだけでなく通知アイコンを右クリックして表示されるメニューをカスタマイズしたりそのメニューごとの動作をプログラムで指定することができます。
アイコンはインジケータとしても表示されます。
メニューの用意の仕方は2通りあり、一つはメニュー用のファイル(拡張子がrtm)を用意してこれを呼び出す方法です。
このrtmファイルはLabVIEWのVI自体のランタイムメニューやショートカットメニューを作るのと同じような話で、以前以下の記事で紹介していました。
なので今回はプログラム的にメニューを用意する方法を紹介します。
といっても基本的にサンプルプログラムにある通りで、メニューの項目を関数を使用して構成するだけです。
各メニューが選択された時の動作はイベントストラクチャの中のユーザイベント内で実行することになり、メニュー名とユーザイベントの項目タグ名を一緒に定義します。
あまり複雑な処理を行わせることは少ないかと思いますが、特定の文字を表示させたり、音を鳴らしたりと、目的にあった処理を実装して、通知を有効に活用できるように処理内容を考えます。
rtmファイルを使用していないだけで、やっていることはランタイムメニューの編集とあまり変わりません。
アイコンの作り方
おまけの話で、最後にアイコンの作り方を紹介します。
アイコンはicoファイルを指定して表示させることになりますが、このicoファイルをどうやって用意すればいいかという話です。
LabVIEWのプログラムで作ることができればいいのですが、私はそのやり方を知らないので、LabVIEWのプロジェクトエクスプローラにてEXE作成時のエディタを代わりに使用しました。(LabVIEWのプログラムでicoファイルを作成する方法をご存じの方いましたらコメントいただけますと助かります)
ビルドする対象のviがなくてもいいので、とにかくプロジェクトエクスプローラ上でビルド仕様を右クリックし、アプリケーションの作成に入ります。
そこで、アイコンカテゴリを選んで、アイコンエディタを起動します。
このエディタで絵を描いて、16×16のサイズで保存すれば、.icoファイルが用意でき、今回紹介したツールキットでアイコンファイルを指定することでこれを表示させることができるようになります。
本記事では、Windowsのタスクバーにお知らせを表示させる機能を実装する方法を紹介しました。
Windowsユーザーがよく見慣れているであろう形で(LabVIEW特有ではない見た目で)お知らせを表示させることで、プログラムを使用するユーザーに親しみやすくさせるなど、ユーザーフレンドリーなプログラムの作成に役立ててもらえればうれしいです。
ここまで読んでいただきありがとうございました。
コメント