Как стать автором
Обновить

Комментарии 4

имхо стоит прочитать статью ATL Services в MSDN, прежде чем велосипедить…
Читал, не понравилось.
Куча зависимостей, много лишнего кода, неинтуитивно.
Прежде всего, спасибо за материал, изложен хорошо и последовательно.

Но хотелось бы заметить что никакого жесткого запрета на интерактивные сервисы нет, они по-прежнему работают, совместимость-то надо сохранять. Просто начиная с Висты, если сервис с флагом SERVICE_INTERACTIVE_PROCESS попытается показать какое-то окошко, будь-то MessageBox, собственное отрисованное окно или дочерний процесс система сообщит об этом:



Далее, по желанию пользователя произойдет переход в нулевую сессию, где он сможет увидеть gui.
Спасибо, не знал.
Так как основная система — Win2k3 под вистой/семеркой и соответствующих серверных версиях не проверял. Но в MSDN сказано достаточно жестко:

Important Services cannot directly interact with a user as of Windows Vista. Therefore, the techniques mentioned in the section titled Using an Interactive Service should not be used in new code.
Да и запустить процесс от имени пользователя не так сложно.
Наверное про это стоит так же заметку написать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории