Установка идентификатора модели пользователя приложения другого процесса - PullRequest
1 голос
/ 28 февраля 2011

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

Обычно процесс должен установить этот идентификатор для себя, вызывая SetCurrentProcessExplicitAppUserModelID (), но в этом конкретном случае у меня нет контроля над кодом запуска других приложений, поэтому я должен установить его внешне, в лучшем случае, используя тип ShellExecute, который передает идентификатор приложению.

Возможно ли это?

1 Ответ

2 голосов
/ 28 февраля 2011

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

Если вы по какой-либо причине действительно хотите установить определенный идентификатор для стороннего приложения, я бы попробовал один из них (я не пробовал ни одно из этих предложений)

  • используйте SHGetPropertyStoreForWindow в окне приложений (я никогда не пытался установить идентификатор таким образом, но я знаю, что вы можете прочитать идентификатор другого процесса таким образом)
  • Создать временный ярлык, который запускает приложение с определенным идентификатором
  • Внедрить в процесс и вызвать SetCurrentProcessExplicitAppUserModelID
...