Wie ändere ich die Reihenfolge der Schaltflächen in der Taskleiste?
Frage
Es gibt einige Freeware -Tools (z. B. Taskleiste Shuffle, Xneat usw.), die die Möglichkeit haben, die Reihenfolge der Schaltflächen in der Taskleiste zu ändern, ohne tatsächlich Fenster zu schließen oder zu öffnen. Leider scheint keiner von ihnen Open-Source zu sein.
Welche API -Aufrufe sind erforderlich, um die Reihenfolge der Schaltflächen in der Taskleiste zu ändern?
Lösung
Die Antwort ist zu verwenden TB_MOVEBUTTON
in einem Anruf bei SendMessage()
, wie beschrieben in Die Winapi -Dokumentation hier.
Der erste Parameter zu SendMessage()
(hWndControl
) muss ein Hinweis auf die Symbolleiste sein, die die Taskleistenschaltflächen enthält. Dies ist nicht trivial, um abzurufen, aber die CodeProject -Eintrag In Chris Clarkes Antwort wird der gesamte Code zum Abrufen dieses Handels genannt.
wParam
und lParam
Sie müssen auf die Schaltfläche der Schaltfläche eingestellt werden, um sie zu bewegen, und die Position, um sie auf zu verschieben. Diese IDs sind die idCommand
Feld in der TBBUTTON
Struktur, die jeden Knopf darstellt; Wie Sie diese Strukturen für die Tasten abrufen können CodeProject -Eintrag.
Andere Tipps
Die Tatsache, dass die Windows -API keine Methoden zur Neuanordnung von Taskleistenschaltflächen freigibt, ist beabsichtigt. Es gibt keinen unterstützten Weg, dies zu tun.
Sehen Dies Artikel (und diejenigen, auf die es verlinkt) für das Denken, warum die Shell -Entwickler diese Funktionalität nicht aufdecken.
Jedoch, einfallsreiche Menschen haben Hacks erstellt, die dies erreichen (siehe die anderen Antworten). Ich vermute, dass diese Methoden auseinanderfallen, wenn sich Windows entwickelt (Windows 7, 64bit usw.). Seien Sie nicht überrascht, wenn diese Techniken aufhören zu arbeiten.