• ベストアンサー

ウインドウを最小化させる

こんにちわ。E46-M3です。 さっそくですが、 デスクトップ上にあるウインドウを最小化させる プログラムを作っているのですが、 肝心の最小化させる関数(API)がわかりません。 "最小化ボタン"を無効にする方法は、 よく見かけるのですが ウインドウを最小化する方法はなかなか 発見できなくて・・・ どなたかご存知な方いらっしゃいませんか?? 知っている方がいらっしゃいましたら 教えてください。お願いします。

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

  • ベストアンサー
  • bir
  • ベストアンサー率44% (11/25)
回答No.1

ウィンドウを最小化するには、ShowWindow() またはCloseWindow() を使います。 CloseWindow()は名前をみるとウィンドウを閉じてしまうような感じがしますが、 最小化するだけです(^_^; 使い方はこんな感じ↓です。 ShowWindow(hWnd, SW_MINIMIZE); CloseWindow(hWnd); 最小化時にタスクトレイに入るようなアプリの中には上記APIでは アイコン状態で最小化してしまう(MDIの子ウィンドウを最小化した感じ)ものが あるので、その場合はSendMessage()で直接メッセージを送れば良いでしょう。 SendMessage(hWnd, WM_SYSCOMMAND, SC_MINIMIZE, 0); 各APIの詳細はMSDN等を参照してください。

E46-M3
質問者

お礼

お返事送れました!ごめんなさい。 ずばりこれでしたね! 膨大なAPIから目的の物を見つけるのは難しいですね。 ありがとうございました!!

関連するQ&A

  • 最小化されたウインドウの任意の座標の色

    最小化されてないウインドウの任意の座標上の色を取得するには、APIのGetPixel関数を使って出来たのですが、そのウインドウが最小化されている場合は-1という値が返ってきて色を取得できませんでした。 最小化されたウインドウの任意の座標の色を取得すにはどうすればいいのでしょうか? よろしくお願い致します。

  • 最小化したウィンドウが、タスクバーに表示されない

    ウィンドウの右上の「最小化」ボタンをクリックしても、最小化されたウィンドウが消えてしまい、タスクバーに表示されず、困っています。 「最小化」ボタンをクリックすると、以下ように動作します。 1.ウィンドウが小さくなる 2.タスクバーに吸い込まれるようにして消える ちなみに、最小化して画面上に表示されなくなったタスクを、タスクマネージャーで確認すると実行中になっています。 何か解決方法をご存知の方は、教えてください。

  • 最小化させたくない

    こんにちは 難解な質問になるのですが、最小化ボタンを無効もしくは、最小化させないようにすることは可能でしょうか。 VBなどで自分でプログラミングするのであれば、最小化できないようにすることは可能なのですが、すでに提供されているアプリでできるものなのかご存知の方よろしくお願いします。

  • デスクトップの表示ボタンを押すと、ウィンドウの最小化とともに、アウトルックのウィンドウが閉じられてしまいます。

    デスクトップの表示ボタンを押すと、ウィンドウの最小化とともに、アウトルックのウィンドウが閉じられてしまいます。 まったく対処の方法が分かりません。アドバイス願いします!

  • ウィンドウの最小化について

    以前は、スタートボタンの横の今使ってるものが表示されてる部分を、一回クリックすると、最小化されていたものが普通サイズとなって、画面に出て、また同じ所をクリックすると、画面から消えて最小化されてました。が、今は画面に出すことは出来ても、ウィンドウの右上の横棒のマークをクリックしなければ、最小化されなくなってしまいました。以前のように、下のところで、最小化出来るようになる方法を教えてください。

  • Swingで作ったウィンドウの最小化と復元

    ウィンドウを最小化時にタスクトレイに入れ,タスクトレイのアイコンを ダブルクリックすることで元に戻るようなプログラムを考えています。 GUIはSwingで実装するつもりです。 タスクトレイにアイコンを表示し,最小化時にイベントリスナーから setVisible()を呼ぶことでウィンドウをタスクトレイに入れるところまでは できましたが,アイコンをダブルクリックした時に再びsetVisible()を呼んでも 最小化された状態で表示され,元の場所・サイズに戻して表示することができません。 解決法としては ・プログラム側からウィンドウの最小化を解除,元に戻す ・最小化ボタンを押された時に最小化しないようにする の 2 つを考えましたが,どちらも実装法がわかりません。 また,これら以外に方法はあるのでしょうか。 よろしくお願いします。

  • VC++でウィンドウの最小化をするには?

    Microsoft Visual C++ 6.0を使っています。 アナログ時計を作っているのですが、質問です。 300×300の固定ウィンドウでなおかつ、最小化と閉じるボタンだけあり、 タイトルバーにアイコンとタイトルを表示させ、最小化したときには、 現在時刻をバーに表示させるというウィンドウを作りたいと思っています。 標準的な"Hello World"でを選択してプログラムを作っていたのですが、これはウィンドウハンドルが出てきてウィンドウが固定でない上に、普通に最大化できてしまうので、 こういう機能のみ削除したいと考えています。 hWnd = CreateWindow(szWindowClass,szTitle,WS_SYSMENU,SW_RESTORE, 0, 300, 300, NULL, NULL,hInstance, NULL); 今現在は閉じるボタンだけありの固定ウィンドウになっていますが、これに最小化機能を追加するにはどうすればよいでしょうか?

  • Windows Live Messengerを最小化ボタンでタスクトレイに入れたい。

    初めまして。 Windows Live Messengerは、通常は最小化ボタンを押すとタスクバーに入り、 ×ボタンを押すとタスクトレイに入りますが、 これを、最小化ボタンにてタスクトレイに入れる方法はないでしょうか? メディアプレーヤーは最小化ボタンでタスクバーモードにできるのに、 ライブメッセンジャーは最小化ボタンではタスクトレイに入らないので、 不便をしています。 (キー設定でマウスのとあるボタンに最小化を割り当てているので) どなたか裏技をご存知の方、ぜひ教えてください~。

  • IEのウィンドウを最小化して元に戻らなくなった

    以前はInternet Explorerのウィンドウで最小化ボタンをクリックすると、自分がドラッグ&ドロップで任意に設定しておいたウィンドウの大きさに戻りました。 数日前にWindows Updateを行いました。それが原因かどうかわかりませんが、Windows Update以降、最小化ボタンをクリックすると、自分で任意に設定したウィンドウの大きさではなく、やたら小さいウィンドウになります。 例えば、以前ならドラッグ&ドロップで縦横約30x20cmの大きさにウィンドウを設定しておけば、最小化ボタンをクリックすると30x20cmに戻りました。しかしこのところ最小化ボタンをクリックすると任意の設定30x20cmは無視され、10x10cmくらいのやたら小さいウィンドウに縮小されます。 最大化ボタンは従来どおりに働きます。 解決する方法はないでしょうか? よろしくお願いします。

  • ウィンドウの最小化

    ウィンドウの最小化には普通右上のボタンが使われますが キーによる操作もあるようです alt+tab,alt+space+Nなどは知っています ほかにもあるでしょうか 知っている方は回答していただければと思います