如何更改任务栏上按钮的顺序?

Tim*_*mwi 7 windows winapi taskbar button

有一些免费软件工具(例如,Taskbar Shuffle,XNeat等),它们能够改变任务栏上按钮的顺序,而无需实际关闭或打开任何窗口.不幸的是,它们似乎都不是开源的.

更改任务栏中按钮顺序所需的API调用是什么?

Tim*_*mwi 6

答案是TB_MOVEBUTTON在调用中使用SendMessage(),如此处的WinAPI文档所述.

SendMessage()(hWndControl)的第一个参数需要是对包含任务栏按钮的工具栏的引用.这对于检索来说并不重要,但Chris Clarke的答案中提到的CodeProject条目具有检索此句柄所需的所有代码.

wParam并且lParam需要分别设置为要移动的按钮的按钮ID和移动它的位置.这些ID是表示每个按钮idCommandTBBUTTON结构中的字段; 如何检索按钮的这些结构也可以从上面的CodeProject条目中获取.