2009-04-28 19 views
7

Existen algunas herramientas de software gratuito (por ejemplo, Taskbar Shuffle, XNeat, etc.) que tienen la capacidad de cambiar el orden de los botones en la barra de tareas, sin cerrar o abrir ninguna ventana. Desafortunadamente, ninguno de ellos parece ser de código abierto.¿Cómo cambiar el orden de los botones en la barra de tareas?

¿Cuáles son las llamadas API requeridas para cambiar el orden de los botones en la barra de tareas?

Respuesta

6

La respuesta es usar TB_MOVEBUTTON en una llamada al SendMessage(), como se describe en the WinAPI documentation here.

El primer parámetro para SendMessage() (hWndControl) debe ser una referencia a la barra de herramientas que contiene los botones de la barra de tareas. Esto no es trivial para recuperar, pero el CodeProject entry al que se hace referencia en la respuesta de Chris Clarke tiene todo el código requerido para recuperar este identificador.

wParam y lParam deben establecerse en el botón ID del botón para mover y la posición para moverlo, respectivamente. Estos ID son el campo idCommand en la estructura TBBUTTON que representa cada botón; cómo recuperar estas estructuras para los botones también se puede tomar desde el anterior CodeProject entry.

1

El hecho de que la API de Windows no expone los métodos para reorganizar los botones de la barra de tareas es intencional. No hay una manera admitida de hacer esto.

Consulte el artículo this (y las que enlaza) para saber por qué los desarrolladores de shell no exponen esta funcionalidad.

Sin embargo, personas ingeniosas han ideado hacks para lograr esto (ver las otras respuestas). Sospecho que estos métodos se derrumbarán a medida que Windows evoluciona (Windows 7, 64 bits, etc.). No se sorprenda cuando estas técnicas dejen de funcionar.

Cuestiones relacionadas