2016-01-20 2 views
0

У меня есть 5 различных приложений на C#, работающих одновременно на моем компьютере. Они занимают много места на панели задач. Как я могу закодировать их для группировки на панели задач (используя окна 10). С уважением.Как группировать приложения в панели задач Windows?

+0

Почему вы спрашиваете об этом в SO вместо суперпользователя? Это не вопрос программирования. –

+0

его очевидно, что вы не прочитали весь текст вопроса ... –

+0

Я сделал. Это делается ОС, это не стиль приложения или окна. Он управляется поведением «Кнопки панели задач» в свойствах панели задач. Даже если вы выбираете «Always Combine», появляются только экземпляры одного и того же приложения с черепичным эффектом. Было бы иначе, если бы вы спросили, например, о Jumplists –

ответ

1

Вам нужен pinvoke SetCurrentProcessExplicitAppUserModelID(), поставляющий тот же AppID для всех приложений, которым вы хотите поделиться кнопкой на панели задач. Затем ОС будет обрабатывать ваши 5 приложений, как если бы они были одним и тем же приложением.

Обязательно позвоните в SetCurrentProcessExplicitAppUserModelID() перед отображением пользовательского интерфейса вашего приложения.

[DllImport("shell32.dll", SetLastError=true)] 
static extern void SetCurrentProcessExplicitAppUserModelID([MarshalAs(UnmanagedType.LPWStr)] string AppID); 

private static string AppID = "some guid"; // use the same ID in all 5 apps 

... 

SetCurrentProcessExplicitAppUserModelID(AppID); 
Смежные вопросы