CreateProcess
создает процесс, который запускается от имени того же пользователя, что и родительское приложение, и запускается в том же сеансе. Вы должны использовать CreateProcessAsUser
/ CreateProcessWithLogonW
/
CreateProcessWithTokenW
чтобы создать процесс как другой пользователь. Единственное исключение - ShellExecute
, которое может создать процесс от имени другого пользователя, если используется повышение прав UAC и пользователь не является администратором.
Если вам нужно взаимодействовать с другим сервисом, вы можете использовать ChangeServiceConfig
, чтобы заставить себя зависеть от другого сервиса. Диспетчер управления службами сначала запустит другую службу, прежде чем запустить вашу службу.