スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Outlookのメールアイコンが出てたらメッセージを表示したい Notifire(1)

会社のメーラーがOutlook2013です。
それまでメールが来た時にすぐに読めるように、デスクトップ通知でダイアログボックスを表示するように設定していました。しかし、2013になって、デスクトップ通知がタスクバーの通知領域(時計の横)にメールのアイコンを出すことと、バルーンを最長30秒表示することしかできなくなってしまいました。
確かにおしゃれなのかもしれないです。できるだけ今の作業を邪魔しない方針なのかも。
でも。
メールを読むのはかなり仕事度が高い、というかそれがトリガーになって発生する作業ってのが結構あります。
定時間際に気づいてオイオイってなること度々。
どうにかならんのかと思うわけです。

Lazarusを自宅パソコンにインストールしている身としては、作れないのか? となります。
およそのイメージはこうです。

スレッドかタイマーで1分おきにデスクトップの通知領域を見に行きます。
デスクトップの通知領域にメールのアイコンが出てれば通知する。

そうなると次の問題は「デスクトップの通知領域にメールのアイコンが出てれば」の判定です。多分、ちっちゃいなりにウィンドウを持ってるだろうから「デスクトップの通知領域にクラス名がhogehogeのウィンドウがあれば」に読み替えることができそうです。

さて。

Delphiを使っていた頃に、ウィンドウのクラス名を調べるプログラム(っていうかSpyのパクリ)を作ったことがあります。

こんなの。
クラス名確認ツール WindowSeeker


で、調べてみました。

クラス名が「ToolbarWindow32」で、説明が「ユーザーによって昇格された通知領域」でした。普通は早送りボタンみたいなのを押した時に出てくるところに隠れてるけれど、設定することで時計の横に強制的に表示できるようになっているから「昇格された」の意味もわかります。ちなみにWindows7です。

画像的にはこれ。


すごく良くない状態です。右下の通知領域の最小単位はダマになってて、通知しているプログラム単位じゃぁないです。
今の場合、一番右が音量設定で右2がPC Tools Firewallで右3がWindowsUpdate的なので左端がLogitecのUSB機器管理ツール(話それるけどこれ便利です。USBプリンタを無線で使えるようになります。でもHDDを無線で使うのは怖くて無理...)です。けど、それって目視で調べてるわけで。

メールのアイコンの画像とデスクトップ通知領域の画像を比べて含まれてたら、とかするんだろうか。

あと、自宅パソコンにはOutlook入ってないので、そういうテストもやりにくい罠。

多分続く。
関連記事
スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。