• ベストアンサー

WINDOWを最前面に出したい!!

WIN32アプリケーションをVC6で作成しています。 複数のウインドウを使用しているのですが、他のウインドウを閉じた瞬間に別のウインドウをアクティブにして、画面の最前面に出したいのですが、どうしたらいいでしょうか? どなたかそのようなことのできるAPI関数をご存知の方がいらしたらお教えください。

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

SetForgroundWindow() かな。

Hide77
質問者

お礼

うまくいきました! どうもありがとうございました!!

関連するQ&A

  • ウインドウの最前面表示

    指定された日時になると、メッセージウインドウを表示するソフトを作成中ですが、そのウインドウのOnInitDialog()でShowWindow(SW_SHOW)をコールしても、その時に起動しているアプリケーションによっては、最前面に表示されません。(エクスプローラやIEの前面には表示されるが、VC++では背面に表示されます。) アプリケーションによっては無理なのでしょうか? (警告ウインドウとしても使用したいので、最前面に表示したいのですが...。) 環境  WindowsXP  Visual C++6.0

  • VBAにてメッセージボックスを最前面に表示させる

    エクセルVBAにて、指定時刻になったらメッセージボックスを、最前面に表示させるプログラムを作成中です。 時刻の指定は、ontimeメソッドの使用でできました。 しかし、最前面(他のアプリケーションを開いていても、メッセージボックスが手前に表示される)がどうしてもできません。。 VBだとAPI関数を使って、フォームを常に最前面表示はできました。 メッセージボックスで、このような表示方法は実現可能なのでしょうか? どなたか教えて下さい。よろしくお願いします。

  • Excel VBA 特定のWindowを前面に

    VBAのShellコマンドでコンソールアプリケーションを起動し,その処理が終了してから(終了を待つのはWD.Tasks.Existsを使いました)そのアプリケーションで作成したcsvファイルを開いて処理するプログラムを作りました。 そのアプリケーションは,動いている間,Excelの背面にあるようで画面に表示されません。このアプリケーションが動いている間,それを最前面に表示させたいのですが,方法がありましたらお教えください。

  • EXCELの最前面設定解除について

    こんにちは。 VBでFindWindow関数を使用してEXCELのハンドルを取得し、SetWindowPos関数で 最前面に設定しているのですがEXCEL標準のダイアログボックスを開いたり (オプション設定や列幅設定等)、タイトルバーをダブルクリックしたり最大化 ボタンを押下して画面最大にしその後画面を元に戻した後、他のウィンドウが 上位に来たりして最前面設定が消えていました。 これはなぜでしょうか?この現象が起こらない(何をしても常に最前面)ように するにはどうすればよいでしょうか? 長くなりましたがどうか宜しくお願いします。

  • VC++でウィンドウを作る場合・・・

    えっと、VC++初心者です。 VC++でウィンドウを作るのに色んな方法があるようですが、 WIN32APIの Create関数(CreateEX関数含む)と CreateWindow関数(CreateWindowEX関数含む)の 使い分けの違いがよく分かりません。 どういったときにどちらを使うのがよいのでしょうか? どうぞ宜しくお願いします。

  • VC++2010ウインドウを常に最前面に表示する

    VC++2010ExpressEditionのフォームアプリケーションにより、簡単な機能のボタンの付いた小さいウインドウを作成しました。 起動した時に、これを常に最前面に配置する方法を教えてください。 いろいろ調べた結果、SetWindowPos を用いればよいことは分かったのですが これを具体的に、どこに書けばいいのか分かりませんでした。 Form1.h の中に書くのでしょうか? その他の場所でしょうか? また、その時の引数のハンドルは、どのように取得するのでしょうか? 基本的なことだと思いますが、インターネットを数時間調べても分からなかったので、質問させて頂きます。 よろしくお願いします。

  • vb.netアプリケーション全てのフォームを前面に

    初心者です。 VisualBasic2010で複数のフォームを持つアプリケーションを作成しています。 それぞれのフォームに親子関係はありません。 全てのフォームが開いている状態で別のアプリケーションを操作し、 [Alt]+[Tab]やツールバーから選択するなどで1つのフォームを選択すると、 そのフォームのみ前面に表示され、 アプリケーション内の他のフォームは別アプリケーションの後ろに隠れたままとなります。 それを全て手前に表示する方法はありますでしょうか。 Activatedイベントで他のフォームをアクティブにせずに開く、などできればおしえてください。 よろしくお願いいたします。

  • 最前面に出てこない

    新しく起動したアプリケーションとか、警告や完了のダイアログは、目立つように最前面にでてくるのが普通ですが、最近最前面に出てこなくなりました。新たにwindowが開いた場合はタスクバーが点滅するので気づきますが、いちいちそれを押して最前面に出してやらなければいけないので面倒です。 ほとんどのアプリでそのような状態となるので、各々のアプリが原因ではなくWindowsの設定が変わってしまったように思います。 何かの設定でそれを直すことはできるでしょうか。 使用しているOSは、Windows2000SP2です。 最近やったことといえば、OSの起動がやたら遅くなってきたので、OSを上書き再インストールして使用していたアプリやドライバーを最インストールしまくりました。

  • windowのコンピュータのロック画面を作りたい。

    唐突なタイトルですみません。 お分かりになる方教えてください。 windows2000のコンピュータロック画面みたいに、アプリが起動していてもバックで実行しているみたいなアプリケーションを作りたいのですが、可能でしょうか?(ロック画面は常にアクティブにしておきたい) もし可能であれば方法も教えていただきたいのですが・・・ 環境 windows2000 VB6.0かVC6.0で作成したいです。

  • 画面を最前面表示したい

    以下に記載する事を出来るVBアプリを作りたいです。 IEを複数起動します。そして、全画面表示にして、 ある間隔でIEの順序を交換したいです。 ある時間間隔で、後ろのIEを最前面に表示します。 これを繰り返したいのですが、うまくいきません。 APIを使えばと思ったのですが、IEのウィンドウ ハンドルの取得方法がわかりません。参考のHPを 見たのですが、「notepad],「電卓」などは、分かるのですが、IEの場合が分かりません。  初心者なもんで、やさしい言葉でお願いします。