Где мой значок на панели задач для пользователя системы? - PullRequest
1 голос
/ 20 марта 2011

Я создал приложение, единственным интерфейсом которого является значок на панели задач Windows.Когда приложение запускается напрямую (например, дважды щелкните его в проводнике Windows), оно правильно показывает значок панели задач.Мне нужно убедиться, что это приложение всегда работает.Для этого я создал службу Windows в C #, которая каждые 10 секунд проверяет, работает ли приложение, и если нет, оно перезапускает его, вызывая

System.Diagnostics.Process.Start("MyApp.exe");

Процесс запускается, как я вижу издиспетчер задач.Тем не менее, я не могу найти значок панели задач.Одна вещь, которую я заметил, заключается в том, что он запускается под именем системного пользователя при запуске из Window Service.

Как сделать значок панели задач видимым при запуске из Windows Service?

1 Ответ

1 голос
/ 20 марта 2011

Сервисы не имеют доступа к тому же рабочему столу, что и пользователь в Vista или Win7.Приложения, запущенные другими процессами по умолчанию, имеют те же права, что и приложение, которое их запустило (они запускаются под одной учетной записью).Вам нужно либо запустить службу под учетной записью пользователя, либо использовать ImpersonateLoggedOnUser (не уверен, что это за версия .NET для этой функции - надеюсь, вы сможете найти ее с этой отправной точкой).

...