Comments 4
имхо стоит прочитать статью ATL Services в MSDN, прежде чем велосипедить…
0
Прежде всего, спасибо за материал, изложен хорошо и последовательно.
Но хотелось бы заметить что никакого жесткого запрета на интерактивные сервисы нет, они по-прежнему работают, совместимость-то надо сохранять. Просто начиная с Висты, если сервис с флагом SERVICE_INTERACTIVE_PROCESS попытается показать какое-то окошко, будь-то MessageBox, собственное отрисованное окно или дочерний процесс система сообщит об этом:
Далее, по желанию пользователя произойдет переход в нулевую сессию, где он сможет увидеть gui.
Но хотелось бы заметить что никакого жесткого запрета на интерактивные сервисы нет, они по-прежнему работают, совместимость-то надо сохранять. Просто начиная с Висты, если сервис с флагом SERVICE_INTERACTIVE_PROCESS попытается показать какое-то окошко, будь-то MessageBox, собственное отрисованное окно или дочерний процесс система сообщит об этом:
Далее, по желанию пользователя произойдет переход в нулевую сессию, где он сможет увидеть gui.
+1
Спасибо, не знал.
Так как основная система — 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.
Да и запустить процесс от имени пользователя не так сложно.
Наверное про это стоит так же заметку написать.
Так как основная система — 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.
Да и запустить процесс от имени пользователя не так сложно.
Наверное про это стоит так же заметку написать.
+1
Sign up to leave a comment.
Реализация сервисов в MSWin