Служба Windows: конец уведомления о начале процесса (2003, 2008) - PullRequest
1 голос
/ 23 июня 2011

У меня есть служба (C ++), которая при запуске может находиться в спящем режиме 10 минут (ошибка).в 2003 году - все работало нормально, когда я перенес код в продукт 2008 года, службы Windows уведомили меня, что служба не может запуститься (мое приложение все еще живо - но с точки зрения Windows через 1 минуту оно утверждает, что есть проблема ..)

-> Хотя код был перенесен в более новую версию, никаких изменений в потоке кода -> есть только один поток, который запускает все.-> Я не могу запустить приложение, если эта ошибка возникает (я должен спать).-> Есть ли какие-либо изменения в поведении 2008 года?

Спасибо.

1 Ответ

1 голос
/ 23 июня 2011

Есть изменения в том, как поддерживаются идентификаторы сессии. Интерактивный вошедший в систему пользователь получит идентификатор сеанса, начиная с 1 (в Windows 7/2008), который был 0 для предыдущих версий Windows.

Наряду с этим существуют ограничения на взаимодействие служб с рабочим столом. Если служба создает / показывает окна, она НЕ будет отображаться в сеансе, принадлежащем текущему пользователю, но будет отображаться через десктоп сеанса с идентификатором 0 '.

Вы можете проверить это обсуждение

...