如何更改任务栏上按钮的顺序?
题
有一些免费软件工具(例如,Taskbar Shuffle、XNeat 等)能够更改任务栏上按钮的顺序,而无需实际关闭或打开任何窗口。不幸的是,它们似乎都不是开源的。
更改任务栏中按钮的顺序需要哪些 API 调用?
解决方案
答案是使用 TB_MOVEBUTTON
在通话中 SendMessage()
, ,如中所述 WinAPI 文档在这里.
第一个参数为 SendMessage()
(hWndControl
) 需要是对包含任务栏按钮的工具栏的引用。检索起来并不简单,但是 代码项目入口 Chris Clarke 的答案中提到的包含检索此句柄所需的所有代码。
wParam
和 lParam
需要分别设置为要移动的按钮的按钮ID和要移动到的位置。这些 ID 是 idCommand
领域中的 TBBUTTON
代表每个按钮的结构;如何检索按钮的这些结构也可以从上面获取 代码项目入口.
其他提示
这在Windows API不公开的方法来重新排列任务栏按钮的事实是故意的。有没有支持的方法做到这一点。
请参阅此一文(和那些它链接到)背后为什么外壳开发商不公开此功能的想法。
然而,的足智多谋的人已经设计出黑客的做到这一点(见其他答案)。我怀疑这些方法将土崩瓦解随着Windows的发展(Windows 7中,64位等)。当这些技术停止工作,请不要惊讶。
不隶属于 StackOverflow