• ベストアンサー

常に非アクティブなウィンドウを作りたい

いきなり質問ですみません。 C++でWin32を使ったプログラミングをしているのですが、 常に非アクティブで常に手前に表示したウィンドウを造りたいのですが、どのようにすればいいのでしょうか 常に手前は簡単にできたのですが、常に非アクティブというのは調べてもなかなか見つかりません。 どなたか教えていただけると助かります。 キーワードだけでもかまいませんのでよろしくおねがいがいたしますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

> そのウィンドウをマウスなどでクリックしても、 > もともと選択していたウィンドウをアクティブなままにしたいんです 「アクティブウィンドウの領域外がクリックされた場合、自身を非アクティブにする」という事がWindowsの機能として行われてしまうのなら、回避できないと思います。 対策としては、 「自分がアクティブにされた場合、直前にアクティブだったウィンドウをアクティブにする」とかですが、直前の…ってのが取得できるかどうか次第ですね。 2-2-14.あるウィンドウをアクティブにしない方法(Windows API Topics) http://www.arcpit.co.jp/winapi/api_02/ap020214.htm WM_NCACTIVATEで、アクティブ化の際にアクティブ化を拒否すれば、自身はアクティブにはならないように思います。 ただ、代わりに直前のウィンドウがアクティブ化されるのか、アクティブウィンドウが無い状態になるのか、デスクトップウィンドウがアクティブになるのか、試さないと分からないかも。

参考URL:
http://www.arcpit.co.jp/winapi/api_02/ap020214.htm
genki140
質問者

お礼

自分がアクティブになる前のアクティブウィンドウを取得しておき、 そのウィンドウをアクティブにすることで問題が解決しました。 wParamがtrueのときにreturn falseをしてもアクティブかを拒否はできないみたいです^^; 分かりやすい回答ありがとうございました。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

普通だと、アクティブにされた時に他のウィンドウやデスクトップをアクティブにするとか。 > 非アクティブなウィンドウを作りたい 非アクティブなウィンドウを作る事自体が目的ですか? こちらは何か別の目的のための手段なのでは? ・Alt+F4で修了しては困る ・ウィンドウ枠を常にグレーにしたい ・Alt+Tabに表示されたくない とか。 目的によっては「非アクティブな」という方法でなくても実現可能なのでは?

genki140
質問者

補足

いえ、そのウィンドウをマウスなどでクリックしても、 もともと選択していたウィンドウをアクティブなままにしたいんです

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • IEで、ある1つのウィンドウを常に手前に表示したい

    タイトル通りなのですが… IEで、ある1つのウィンドウを常に手前に表示できるようにする方法はあるでしょうか。教えてください。

  • IEのウインドウを常に手前に表示

    インターネットエクスプローラのウインドウを常に一番手前に表示する方法ってあるのでしょうか? 少し難しくても出来る方法があれば教えてください。 よろしくお願いいたします。

  • 特定のウィンドウを常に手前に表示するソフト

    こんにちは。 あるウィンドウを任意で常に手前に表示するようなソフトを知りませんか? イメージ的にはタスクマネージャーのスクリーンの様にずっと前に表示されるものがあれば便利かなと思い質問しました。 よろしくお願いします。

  • windows7で特定のアプリケーションのウィンドウのみを常に手前に表

    windows7で特定のアプリケーションのウィンドウのみを常に手前に表示したいのですが、 別ソフトなどを使用せずにwindows7の機能のみで出来る方法がありますでしょうか? あれば教えてください

  • エクセルが常に手前に表示されてしまう

    よろしくお願い致します。 エクセルを表示してしまうと、常に手前に表示されてしまい、 IEやOutlookを見るには、エクセルを毎回最小化するか、 デスクトップを表示するショートカットを使ってからそれらのソフトを開かなくてはならず、 非常にストレスを感じます。 常に手前に表示させるソフトがあるのは知っているのですが、 それを防ぐ方法がわかりません。 どこか簡単な設定で戻せるのでしょうか? windows7 office2007 上記を使用しております。 お手数ではございますが、ご教授下さい。 よろしくお願い致します。

  • 子ウィンドウを常に手前表示、親ウィンドウは操作させない

    まず親ウィンドウから、子ウィンドウを新しく開きます。 そして、子ウィンドウを常に手前で表示させて、親ウィンドウは触れない、というPAGEを作成したいのですがわかりません。 どなたか教えてください。

  • 任意のウィンドウを常に手前に表示するソフトウェアで

    いつもお世話になっております。 早速ですが、タイトルにもあるとおり任意のウィンドウを 常に手前に表示するソフトウェアで、選択した場合にその ウィンドウが赤枠 or 黄枠で囲まれるソフトウェアがあったと 思うのですが、名前が思い出せません。 ctrl + 何かとか、何かを押しながらタイトルバークリックで 常に手前に表示のON/OFFが出来たと思うのですが… 御存じの方はお教えくださいませんか? よろしくお願いします。

  • skypeのビデオウィンドウを常に手前に表示するには?

    skypeでビデオチャットをする際に、ビデオウィンドウを表示させているのですが、これを常に手前に表示させるにはどうすればいいでしょうか? windowsXPSP2です。

  • 添付した画像のようなウィンドウを常に最前面に表示させたいです。

    添付した画像のようなウィンドウを常に最前面に表示させたいです。 左には説明動画、右にはボタンでウィンドウ操作(前面表示の切替え、終了など)が できるものを作りたいです。 そこで質問です。 上に書いたようなことが実現できるプログラムを教えてください。 私は、プログラミングの知識・経験がほとんどはありません。 自分でもどのようなものがあるかは、調べたのですが、絞りきれず質問します。 よろしくお願いいたします。

  • Vistaでタスクバーを常に他のウィンドウの手前に表示したい

    Vistaのタスクバーですが、通常は常に他のウィンドウより手前に表示されると思うのですが、タスクバーのプロパティーで『他のウィンドウの手前に表示する』にチェックを入れても、PCを再起動するたびにチェックが外れていて、他のウィンドウに隠れてしまいます。 何かの設定がおかしいのでしょうか?