0

ビスタサイドバーをプログラムで前面(Win + Space)に移動し、逆にする(バックグラウンドに送信する)APIはありますか?

4

2 に答える 2

1

おそらく SetWindowPos を使用して、z オーダーの一番上/一番下、または一番上のウィンドウに配置するように変更できます。FindWindow または WinSpy などのアプリケーションを使用して、サイドバーへのハンドルを見つける必要があります。

しかし、その後のようなもの。

ウィンドウを一番上に設定しますが、一番上には設定しません。

SetWindowPos(sidebarHandle, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NORESIZE);

ウィンドウを最下部に設定します。

SetWindowPos(sidebarHandle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NORESIZE);

これは、あなたが求めたことを達成するための私の最善の推測です。

于 2008-09-16T12:42:05.383 に答える
0

「はい/いいえ」プロンプトでフォーカスを盗むのと同じように、そのようなアクションが間違ったタイミングで実行されると (95% のケース*)、ユーザーを苛立たせる可能性があるため、おそらくまったく実行しないでください。

もちろん、製品のタスクがサイドバーを切り替えることでない限り。;)

とにかく、そのための公式の API はありません。

※あくまで仮定の数字

于 2008-09-16T12:49:15.053 に答える