как изменить порядок кнопки быстрого запуска на XP? - PullRequest
0 голосов
/ 13 июля 2011

Я пытался изменить порядок кнопок быстрого запуска на XP с помощью C ++, и мой код выглядит следующим образом:

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 кнопок?

1 Ответ

2 голосов
/ 13 июля 2011

Официально поддерживаемый API для этого не существует, поскольку область быстрого запуска принадлежит пользователю, и ожидается, что приложения не изменят порядок за спиной пользователя.

У пользователя есть совершенно разумный механизм дляизмените порядок кнопок, и вы должны оставить их на свое усмотрение.

...