ウィンドウメッセージの処理。

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

ウィンドウメッセージの処理。

#1 投稿記事 by 7 »

アプリケーションを起動するとShowWindow()関数でウィンドウを非表示にした後、タスクトレイにアイコンを表示させているんですけど、そういう訳でウィンドウが要らないんですよね。
で、ウィンドウを削除したらウィンドウメッセージを受け取るウィンドウが無いせいかメッセージに対して反応してくれません。別に、メッセージを受け取るだけの為にウィンドウを作ってたっていいんですけど、なんだかスッキリしないもので...。

ウィンドウメッセージを処理したいんですけど、ウィンドウが無いとできないんでしょうか?
ノッチ
記事: 82
登録日時: 2005年6月01日(水) 23:27
お住まい: 北海道札幌市

Re: ウィンドウメッセージの処理。

#2 投稿記事 by ノッチ »

> アプリケーションを起動するとShowWindow()関数でウィンドウを非表示にした後、タスクトレイにアイコンを表示させているんですけど、そういう訳でウィンドウが要らないんですよね。
> で、ウィンドウを削除したらウィンドウメッセージを受け取るウィンドウが無いせいかメッセージに対して反応してくれません。別に、メッセージを受け取るだけの為にウィンドウを作ってたっていいんですけど、なんだかスッキリしないもので...。
>
> ウィンドウメッセージを処理したいんですけど、ウィンドウが無いとできないんでしょうか?

ウィンドウメッセージを飛ばす先の指定方法が nid.hWnd パラメータしか存在しなので
ウィンドウは必須だと思います。
調べてもウィンドウを非表示にして・・・というものばかりでした。

(Windows2000くらいからメッセージ処理用の存在しないウィンドウ?を作れる
というようなのを見た記憶があったのですが、探しても見つかりませんでした)
淡幻星
記事: 183
登録日時: 2005年7月19日(火) 07:02
お住まい: 宮城県
連絡する:

Re: ウィンドウメッセージの処理。

#3 投稿記事 by 淡幻星 »

7さん さんが書きました:> ウィンドウメッセージを処理したいんですけど、ウィンドウが無いとできないんでしょうか?
メッセージ処理のためにメッセージプロシージャは必須ですが、
ウインドウは必ずしも表示する必要は無かったと思います。
CreateWindowEx()のウインドウスタイル[dwStyle As DWord]に
WS_VISIBLEを指定しなければ良いのではないでしょうか?
そうすると確かタスクバーには最初から表示されなかったような虚覚えが・・・。

(まぁ、表示されないだけで窓を作っていることに変わりは無いわけですが^^;)

・・・Σは、これはノッチさんと同じ結論か(汗)<非表示にして・・・というものばかり
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

Re: ウィンドウメッセージの処理。

#4 投稿記事 by 7 »

> > ウィンドウメッセージを処理したいんですけど、ウィンドウが無いとできないんでしょうか?
>
> ウィンドウメッセージを飛ばす先の指定方法が nid.hWnd パラメータしか存在しなので
> ウィンドウは必須だと思います。
> 調べてもウィンドウを非表示にして・・・というものばかりでした。
そうですか...。
やっぱりウィンドウを非表示にして我慢するしかないんですね。

> (Windows2000くらいからメッセージ処理用の存在しないウィンドウ?を作れる
> というようなのを見た記憶があったのですが、探しても見つかりませんでした)
この情報に関しては、頭の隅っこでアンテナを張っておこうと思いますっ。

ノッチさん、どうもありがとうございました。

追記。
被ってしまいました( ̄□ ̄;)

> CreateWindowEx()のウインドウスタイル[dwStyle As DWord]に
> WS_VISIBLEを指定しなければ良いのではないでしょうか?
> そうすると確かタスクバーには最初から表示されなかったような虚覚えが・・・。
>
> (まぁ、表示されないだけで窓を作っていることに変わりは無いわけですが^^;)
そういえば、いちいちShowWindow()関数で非表示にしなくてもウィンドウプロパティの「可視」のチェックを外せば楽ですよね。
ウィンドウが無くても大丈夫な方法じゃないですけど、わざわざ非表示にするっていう違和感か何かが消えたような気がします。
返信する