Здравствуйте, Maclaud, Вы писали:
M>Так идет запуск:
M>SERVICE_CONTROL_SESSIONCHANGE: // Windows 2000: This value is not supported. M> begin M> {$IFDEF dm}_log('SERVICE_CONTROL_SESSIONCHANGE');{$ENDIF} M> case dwEventType of M> WTS_SESSION_LOGON: M> begin M> {$IFDEF dm}_log('WTS_SESSION_LOGON: start guard '+sa_inttostr(PWTSSESSION_NOTIFICATION(lpEventData)^.dwSessionID));{$ENDIF} M> RunProcessInSession(PWTSSESSION_NOTIFICATION(lpEventData)^.dwSessionID,'c:\windows\system32\cmd.exe',''); M> exit; M> end; M> end; M> end;
M>Потестил, захожу черех FUS за другого пользователя, там cmd.exe висит как и положено в его 4(на тот момент) сессии. Как и все другие приложения того пользователя. Но окна не видно.
Дабы развеять сомнения провел следующий эксперимент.
Накатал сервис, который при старте запускает командное окно (cmd.exe) и
калькулятор (calc.exe), обе программы в сессиях 1 и 2.
Запустил Windows Vista, залогинился админом (сессия 1), затем гостем (сессия 2),
затем снова переключился на админа и запустил сервис командой net start.
Номера сессий подсмотрел в диспетчере задач.
При запуске появилось окно калькулятора и командной оболочки.
Переключился на гостя — там то же самое, свои экземпляры cmd.exe и calc.exe.