我试图使用C ++更改XP上的快速启动按钮的顺序,我的代码如下所示:
HWND hDesktop = GetDesktopWindow();
HWND hTray = FindWindowEx( hDesktop , 0, _T("Shell_TrayWnd") , NULL );
HWND hReBar = FindWindowEx( hTray , 0, _T("ReBarWindow32") , NULL );
HWND hToolbar = FindWindowEx( hReBar , 0, _T("ToolbarWindow32") , NULL );
int Count = SendMessage(hToolbar, TB_BUTTONCOUNT, 0, 0);
SendMessage(hToolbar, TB_MOVEBUTTON, Count-1, 0);
如果快速启动工具栏中的按钮少于3个(快速启动栏中可见按钮数量的默认限制),则代码工作正常,但当按钮超过3个时,订单会改变一段时间,并且在点击显示快速启动按钮的3右侧的小箭头按钮后保持不变。 谁能告诉我为什么会这样?以及如何修复它以使3个以上的按钮工作?
答案 0 :(得分:2)
没有官方支持的API可以执行此操作,因为快速启动区域由用户拥有,应用程序预计不会更改用户背后的顺序。
用户有一个完全合理的机制来重新订购按钮,如果他们愿意,你应该留给他们这样做。