Я использую код, расположенный здесь , в основном, как есть, чтобы начать процесс. Этот код работает безупречно в Vista / 7 - если я запускаю процесс, используя System.Diagnostics.Process.Start()
, я вижу, что он запускается, но не виден, потому что он находится в сеансе 0. Используя этот код, я вижу запуск процесса в сеансе 1 ( в том же сеансе я запускаю программы вручную в Vista / 7).
Теперь, в Server 2008, когда я запускаю программу вручную, она открывается в Сессию 2. Когда я не использую этот код, я вижу, что процесс все еще запускается в Сессию 0. Когда я использую этот код, он запускается в Сессию 1 - но не видно. Предположительно, это потому, что он не запущен в том же сеансе, что и я, и, следовательно, существует на «невидимом» рабочем столе в другом месте.
Кто-нибудь сталкивался с этой проблемой раньше? Блог кажется относительно популярным, поэтому мне трудно поверить, что этот вопрос еще не решен. Сервер, на котором я работаю, имеет 64-битную архитектуру, моя машина win 7 - 32-битная. Я не думаю, что это имеет значение, хотя блог указывает, что решение работает на обеих архитектурах.