-1

SetForegroundWindow他のアプリケーションのウィンドウを一番上に設定するために使用します。このウィンドウを上部に固定するにはどうすればよいですか? つまり、他のアプリケーションが を呼び出すとSetForegroundWindow、私のウィンドウは固定ウィンドウの下になります。

4

2 に答える 2

0

ウィンドウを常に手前に表示するには、次の 2 つの方法があります。

  1. ウィンドウがまだ TOPMOST の場合は常にループをチェックインし、そうでない場合は TOPMOST に設定します。

    if (::GetWindowLong(hwnd, GWL_EXSTYLE) & WS_EX_TOPMOST) { // restore topmost }

  2. を介して Z オーダー変更用のシステム全体のフックを設定しSetWindowsHookEx(WH_CBT or WH_CALLWNDPROC)、ウィンドウが別のウィンドウの下に入ったときに適切なアクションを実行します。

于 2014-09-06T01:07:31.133 に答える
0

WS_EX_TOPMOSTウィンドウを作成するときに拡張スタイルを設定するか、後で を2 番目のパラメーターとして呼び出しSetWindowPosて、ウィンドウを一番上に表示できます。HWND_TOPMOST

ただし、ウィンドウを他の最上位ウィンドウの上に置く方法はないことに注意してください (つまり、「絶対にすべての上に」フラグはありません)。

于 2014-08-07T22:43:10.280 に答える