Как заставить процесс работать на консоли на сервере Windows 2003? - PullRequest
0 голосов
/ 27 августа 2010

У меня есть странная ситуация, когда определенное приложение пакетного типа работает правильно при запуске на консоли (через RDP или при физическом входе в систему), но не работает правильно при запуске через RDP на не-консоли сеанс или, в этом отношении, при выполнении планировщиком задач Windows.

Я знаю, как программно определить, работает ли мой процесс на консоли или нет, проверяя переменную среды SESSIONNAME.

У меня вопрос: если я решу, что я НЕ работаю на консоли, я хочу либо переключиться на консоль (кажется маловероятным из-за ограничений оконных станций), либо, скорее, перезапустить процесс, но принудительно запустить запустить на сеансе консоли.

Это действительно проблема для процессов, запускаемых с помощью планировщика заданий Windows, так как они, похоже, не запускаются на консоли.

1 Ответ

0 голосов
/ 27 августа 2010

Я думаю, что вы создаете процесс в сеансе консоли с помощью комбинации WTSGetActiveConsoleSessionId, WTSQueryUserToken и CreateProcessAsUser.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...