Вверх ↑
Ответов: 655
Рейтинг: 18
#1: 2016-03-29 19:12:34 ЛС | профиль | цитата
В общем все работает урраа! Всем спасибо!
Для того чтобы передать данные в службу и наоборот нужны следующие условия:

1) Отключенный UAC
2) Запуск службы от имени пользователя под которым планируется запуск приложения.
3) В CoreName указываем имя как Global\нужное имя.

До этого не получалось потому что был включен UAC.

Нюансы:
Если служба будет запущена от имени локальной системы, а приложение от имени любого пользователя, то первым - запускаем приложение, вторым - службу.
В случае если служба будет запущена от имени учетки пользователя порядок запуска не важен.

Минусы:
1) В качестве дескриптора безопасности используется nil...который согласно MSDN делает общую память доступной для всех, т.е. чужой процесс (вирус например) может натворить дел.
2) Запуск службы от имени пользователя, отключение UAC.

Прошу помочь допилить компонент SharedStream, нужно добавить создание своего дескриптора безопасности..который будет общим для приложений\служб обменивающихся данными. Подробнее описано тут https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa366537(v=vs.85).aspx и тут https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa379560(v=vs.85).aspx
карма: 0

0