Как узнать что процесс является сервисом?
От: Morpheus_  
Дата: 13.12.06 10:23
Оценка:
есть PID процесса, получаем по нему процесс:
    Process p = Process.GetProcessById(pid);


как теперь узнать является ли процесс p сервисом или нет?

Есть еще пара вопросов:
— как зная PID процесса получить информацию из под чьего аккаунта он запущен?
— как из сервиса работающего в LOCAL_SERVICE запустить процесс под заданным аккаунтом?

Спасибо
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Как узнать что процесс является сервисом?
От: ncoder  
Дата: 13.12.06 10:26
Оценка:
Здравствуйте, Morpheus_, Вы писали:

M_>есть PID процесса, получаем по нему процесс:

M_>
M_>    Process p = Process.GetProcessById(pid);
M_>


M_>как теперь узнать является ли процесс p сервисом или нет?


проверить есть ли в списке сервисов exe такой же как и у запущщеного процесса
(годится только в пару случаях, вообщем сомнительное решение)

M_>Есть еще пара вопросов:

M_>- как зная PID процесса получить информацию из под чьего аккаунта он запущен?

с помощью WMI. На форуме обсуждалось

M_>- как из сервиса работающего в LOCAL_SERVICE запустить процесс под заданным аккаунтом?


Сделать Impersonate введя логин пароль и дальше смело запускать новый процесс
потом сделать что то вроде Unimpersonate

M_>Спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.