Пытаюсь сотворить сервис(польз. режима). Вычитал, что для того, чтобы он мог общатся с текущим рабочим столом, надо вызывать CreateService с dwServiceType = SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS. Также там говориться, что для того, чтобы использовать этот флаг надо чтобы сервис выполнялся в контексте учётной записи LocalSystem. Вопросы: 1) Что значит "в контексте учётной записи"? 2) Как(и нужно ли) получить эту самую LocalSystem?
Поскольку сервис NT запускается системой до логона пользователя, то он - по умолчанию - запускается от имени системы (читай в контексте учетной записи Local System Account). При запустке сервиса "вручную", он запускается от имени пользователя, пописанного на второй вкладке настроек сервиса (опять же по-умолчанию Local System Account). Но ты можешь спокойно поменять имя юзера и пароль, от имени которого сервис должен запускаться. Для этого на указанной вкладке укажи имя пользователя и пароль, от имени которого сервис будет в дальнейшем стартовать. Замечу один факт - при этом сервис сможет получить доступ к тем же сетевым ресурсам, к которым имеет доступ сам указанный пользователь. Далее. Если тебе нужно создать интерактивный сервис, то для этого он должен обязательно запускаться от имени системы. Посмотри на вторую вкладку настроек и увидишь сам, что только для Local System Account можно проставить галку Allow Service To Interact With Desktop.