7

ウィンドウを実際に閉じたり開いたりせずに、タスクバーのボタンの順序を変更できるフリーウェア ツールがいくつかあります (例: Taskbar Shuffle、XNeat など)。残念ながら、それらのどれもオープンソースではないようです.

タスクバーのボタンの順序を変更するために必要な API 呼び出しは何ですか?

4

2 に答える 2

6

答えは、こちらの WinAPI ドキュメントで説明されているように、TB_MOVEBUTTONへの呼び出しで使用することです。SendMessage()

SendMessage()( )の最初のパラメーターhWndControlは、タスクバー ボタンを含むツールバーへの参照である必要があります。これを取得するのは簡単ではありませんが、Chris Clarke の回答で参照されているCodeProject エントリには、このハンドルを取得するために必要なすべてのコードが含まれています。

wParamlParamそれぞれ、移動するボタンのボタン ID と移動先の位置に設定する必要があります。これらの ID は、各ボタンを表す構造idCommand内のフィールドです。TBBUTTONボタンのこれらの構造を取得する方法も、上記のCodeProject エントリから取得できます。

于 2009-04-28T16:03:48.777 に答える
1

Windows API がタスク バー ボタンを再配置するメソッドを公開していないのは、意図的なものです。これを行う方法はサポートされていません。

シェル開発者がこの機能を公開しない理由については、この記事 (およびそのリンク先) を参照してください。

ただし、機知に富んだ人々は、これを達成するためのハックを考案しました (他の回答を参照)。Windows が進化するにつれて (Windows 7、64 ビットなど)、これらの方法は崩壊するのではないかと思います。これらの手法が機能しなくなっても驚かないでください。

于 2009-04-28T14:08:43.967 に答える