- PR -

タスクトレイに再表示したい。

1
投稿者投稿内容
hitoko
ぬし
会議室デビュー日: 2002/05/12
投稿数: 505
投稿日時: 2003-05-19 05:13
あるソフトを使っていて、それは最初タスクトレイに表示されます。
しかし、時がたつと、タスクトレイから
そのソフトのアイコンが消えてしまいます。
もう一度、タスクトレイに、そのソフトのアイコンを表示させるには
どうしたらいいのでしょうか。
Daisuke
会議室デビュー日: 2003/05/13
投稿数: 1
投稿日時: 2003-05-19 10:02
そういうツールがあるという事を、ここ2ヶ月の間にSEって雑誌で
見かけました。良かったら探してみてください。後ろの方のページに
あるコラムみたいなページに書かれていました。

そのコラムによると、画面が固まった後にタスクトレイにアイコンを復旧
するのはアプリケーション側の仕事らしくて、アイコンの再表示の処理を
プログラム内部に製作者が埋め込まなければならないのですが、処理して
いないプログラムが多々あるのでこのような現象が起こってしまうとの
ことです。

多分、修復・復旧系の市販ソフトにはこんな機能付いているんじゃないかな?
ちなみにこのコラムに書かれていたツールは有料サイトのものでした。
探せばフリーでありそうだけど。。。
hitoko
ぬし
会議室デビュー日: 2002/05/12
投稿数: 505
投稿日時: 2003-05-19 11:47
Daisukeさま、たいへん貴重な、レスありがとうございました。
そのようなツールがあると分っただけでも、助かりました。
わたしも、Webを探しているんですが、なかなか見つかりません。
どなたか、有料無料関係なく、ツールのあるWebをご存じの方、
どうかお教え下さい。
mikan
ベテラン
会議室デビュー日: 2002/08/19
投稿数: 58
投稿日時: 2003-05-19 18:59
時が経つと、というのが曖昧な気がするんですが、エクスプローラのエラーが発生してシェルが再起動してアイコンが消えているんですか?
それともXPの「アクティブでないインジケータを隠す」が有効になっているから消える(隠れる)ことですか?

前者であればDaisukeさんが言っているように、プログラム側の問題なのでなんともし難いですけど、後者であれば「通知領域のカスタマイズ」で"常に表示"にして回避できますよ。

外してるかな?
hitoko
ぬし
会議室デビュー日: 2002/05/12
投稿数: 505
投稿日時: 2003-05-20 06:26
みかんさんレスありがとうございます。
前者のエクスプローラのエラーが発生してシェルが再起動して
アイコンが消えてしまいます。
これは、どうすることもできないんですか。
そういうのを再表示するツールはないんですか。
近と
会議室デビュー日: 2003/05/12
投稿数: 8
投稿日時: 2003-05-21 21:40
タスクトレイアイコンの再描画処理は、Daisukeさんが書かれた通り、
各アプリが行うべき処理で、外部からのフック等は不可能な筈です。

どうしても必要でしたら、アプリの開発元に改善要求するしか方法はありません。

近とは、利用しているメールソフトの開発元に改善要求して、実装してもらいました。

技術的には非常に簡単で、
"TaskbarCreated"というウィンドウメッセージを定義(RegisterWindowMessage)して、
該当するメッセージIDを受け取ったら、
タスクトレイアイコンの登録処理をするだけです。

以下は、Cによるサンプルコードです。

LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
{
static UINT s_uTaskbarCreated;

switch(uMessage)
{
case WM_CREATE:
s_uTaskbarCreated = RegisterWindowMessage(TEXT("TaskbarCreated"));
AddTaskbarIcon();
break;
default:
if(uMessage == s_uTaskbarCreated)
{
AddTaskbarIcon();
}
break;
}
return DefWindowProc(hWnd, uMessage, wParam, lParam);
}
hitoko
ぬし
会議室デビュー日: 2002/05/12
投稿数: 505
投稿日時: 2003-05-22 06:51
近とさん、詳しいレス有り難うございました。
非常に参考になりました。
これからもよろしくです。
1

スキルアップ/キャリアアップ(JOB@IT)