Измените ApplicationID запущенного процесса с c # - PullRequest
4 голосов
/ 05 марта 2010

В Windows 7 у нас есть концепция ApplicationID, которая позволяет (помимо прочего) группировать несколько значков на панели задач. Как я могу изменить ApplicationID запущенного процесса с C #? Я пытаюсь создать группу значков моего приложения WinForm с другим приложением. Я попытался использовать библиотеку Windows API Code Pack, вставив следующий код в событие Load ... но это не сработало. Предложения?

TaskbarManager.Instance.ApplicationId = "MyAppID";    
Process[] p = Process.GetProcessesByName("OtherProcess");
TaskbarManager.Instance.SetApplicationIdForSpecificWindow(p[0].MainWindowHandle, "MyAppID");

Ответы [ 2 ]

2 голосов
/ 05 марта 2010

Я повторяю это. Я думаю, что документы SDK неверны, а документы XML для метода SetApplicationIdForSpecificWindow () верны:

AppId указывает уникальное приложение Идентификатор модели пользователя (AppID) для приложение или индивидуальный верхний уровень окно, чья кнопка панели задач будет держать пользовательский JumpList, построенный через методы класса.

Установив appId для определенного окно, окно НЕ будет сгруппировано с его родительским окном / приложением. Вместо этого он будет иметь свою собственную панель задач кнопка.

Я подчеркнул НЕТ.

0 голосов
/ 04 октября 2011

(несколько) очевидное решение состоит в том, чтобы установить оба идентификатора приложения Windows, которые вы хотите сгруппировать вместе , в один и тот же идентификатор .

Пример:

TaskbarManager.Instance.SetApplicationIdForSpecificWindow(win1.MainWindowHandle, "W00T");
TaskbarManager.Instance.SetApplicationIdForSpecificWindow(win2.MainWindowHandle, "W00T");

Дааа, и оба окна будут сгруппированы.

...