画面の前面処理&ウィンドウをアクティブにする

解決


アジャジャ  2003-10-23 23:28:56  No: 109369

画面を前面に表示し、その画面をアクティブにする方法を探しています。
Windows XPだとなぜか裏に画面が隠れてしまいます。

<現状のコーディング>
1.SetWindowPos(HWND_TOPMOST、HWND_NOTOPMOSTの順)で画面を前面に表示させる。
    なぜか裏に隠れた画面が操作可能状態(アクティブなウィンドウ?)になる。
2.SetForegroundWindowで画面をアクティブにする。
    アクティブ画面にならない。

要するに画面が表に表示され、その画面を正常に操作できるようにしたいのです。

どなたかご教授願います。


s  2003-10-23 23:49:15  No: 109370

HWND_NOTOPMOSTにすると前から2番目になるのでは?


アジャジャ  2003-10-23 23:55:58  No: 109371

訂正します。

HWND_TOPMOST、HWND_NOTOPMOST、HWND_TOPの順です。


アジャジャ  2003-10-24 04:28:35  No: 109372

解決しました。

下記APIを使用するとできました。

1.GetWindowThreadProcessId
2.GetForegroundWindow
3.AttachThreadInput
4.SetForegroundWindow


アジャジャ  2003-10-24 04:29:20  No: 109373

解決時のチェックを忘れました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加