Domanda

Ci sono alcuni strumenti freeware là fuori (ad esempio, Taskbar Shuffle, XNeat, ecc) che hanno la capacità di cambiare l'ordine dei pulsanti sulla barra delle applicazioni, senza realmente chiudere o aprire le finestre. Purtroppo, nessuno di loro sembra essere open-source.

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

È stato utile?

Soluzione

La risposta è quella di utilizzare TB_MOVEBUTTON in una chiamata a SendMessage(), come descritto in la documentazione WinAPI qui .

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

wParam e lParam devono essere impostati al pulsante ID del pulsante per spostare, e la posizione di spostarlo, rispettivamente. Questi ID sono il campo idCommand nella struttura TBBUTTON che rappresenta ciascun pulsante; come recuperare queste strutture per i pulsanti possono anche essere prese dal CodeProject .

Altri suggerimenti

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

questo articolo (e quelli si collega a) per il pensiero dietro il motivo per cui gli sviluppatori di shell non esporre questa funzionalità.

hack Tuttavia, persone intraprendenti hanno messo a punto il compiere questo (vedere le altre risposte). Ho il sospetto che questi metodi quanto verrebbe a mancare di Windows si evolve (Windows 7, 64 bit, ecc ...). Non siate sorpresi quando queste tecniche smettono di funzionare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top