2009-04-28 32 views
7

Ci sono alcuni strumenti freeware (ad esempio, Taskbar Shuffle, XNeat, ecc.) Che hanno la possibilità di cambiare l'ordine dei pulsanti sulla barra delle applicazioni, senza effettivamente chiudere o aprire nessuna finestra. Sfortunatamente, nessuno di questi sembra essere open source.Come modificare l'ordine dei pulsanti sulla barra delle applicazioni?

Quali sono le chiamate API necessarie per modificare l'ordine dei pulsanti nella barra delle applicazioni?

risposta

6

La risposta è utilizzare TB_MOVEBUTTON in una chiamata a SendMessage(), come descritto in the WinAPI documentation here.

Il primo parametro su SendMessage() (hWndControl) deve essere un riferimento alla barra degli strumenti che contiene i pulsanti della barra delle applicazioni. Questo non è banale da recuperare, ma lo CodeProject entry cui fa riferimento la risposta di Chris Clarke ha tutto il codice necessario per recuperare questo handle.

wParam e lParam devono essere impostati sull'ID del pulsante da spostare e sulla posizione in cui spostarlo, rispettivamente. Questi ID sono il campo idCommand nella struttura TBBUTTON che rappresenta ciascun pulsante; come recuperare queste strutture per i pulsanti può anche essere preso dal precedente CodeProject entry.

1

Il fatto che l'API di Windows non esponga i metodi per riorganizzare i pulsanti della barra delle applicazioni è intenzionale. Non c'è un modo supportato per farlo.

Vedere l'articolo this (e quelli a cui si collega) per capire perché gli sviluppatori di shell non espongono questa funzionalità.

Tuttavia, le persone piene di risorse hanno escogitato degli hack per ottenere ciò (vedere le altre risposte). Sospetto che questi metodi si disgregheranno man mano che si evolverà Windows (Windows 7, 64 bit, ecc ...). Non essere sorpreso quando queste tecniche smettono di funzionare.

Problemi correlati