Windows сервисы и десктоп

OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Windows сервисы и десктоп

Post by OtherSide »

Виндовые системщики, подскажите, уже вторую неделю бьюсь!

Одно из приложений с которого нужно импортировать данные умеет общаться лишь по DDE, а это по сути очередь виндовых сообщений.
Я хочу написать сервис, который будет коммуницировать и отдавать данные по WCF
Но дело в том, что в последних версиях винды сервисам закрыт доступ к десктопу (а значит очереди сообщений)
В сервисах поставил "allow interact with desktop", поменял как советовали флажок в реестре, но один фиг контрольное MessageBox.Show("Hi!"); не срабатывает. При этом код там выполняется, выше и ниже контрольная запись в логи идет, т.е. оно не падает, но и диаложик не вылетает.

Подскажите, оно вообще реально возможно из сервиса раскочегарить windows messages или стоит отбросить идею и искать другой путь?
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Windows сервисы и десктоп

Post by Medium-rare »

OtherSide wrote:В сервисах поставил "allow interact with desktop", поменял как советовали флажок в реестре, но один фиг контрольное MessageBox.Show("Hi!"); не срабатывает. При этом код там выполняется, выше и ниже контрольная запись в логи идет, т.е. оно не падает, но и диаложик не вылетает.
Надо ли это понимать, как DDE сообщение принято, но программа не в состоянии выдать окошко наружу? Сам этот GUI не сервис?
... and even then it's rare that you'll be going there...
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Windows сервисы и десктоп

Post by OtherSide »

Medium-rare wrote:
OtherSide wrote:В сервисах поставил "allow interact with desktop", поменял как советовали флажок в реестре, но один фиг контрольное MessageBox.Show("Hi!"); не срабатывает. При этом код там выполняется, выше и ниже контрольная запись в логи идет, т.е. оно не падает, но и диаложик не вылетает.
Надо ли это понимать, как DDE сообщение приянто, но программа не в состоянии выдать окошко наружу?
нет не правильно! Мне не особенно надо, что бы сервис вообще выдавал окошки. В данный момент получить окошко это простой тестовый код, что бы убедится что права получены.
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Windows сервисы и десктоп

Post by Medium-rare »

OtherSide wrote: нет не правильно! Мне не особенно надо, что бы сервис вообще выдавал окошки. В данный момент получить окошко это простой тестовый код, что бы убедится что права получены.
Это из самого сервиса? DDE сообщение принято? Или принято сообщение о полученных правах? Отсюда плохо видно.

По идее, у вас и так замысел есть отдельная от сервиса гуевая программа, слушаящая его сообщения. Ей же всё равно, сервис сообщения бросает, или другая десктопная программа. Сервису ведь разрешили разговаривать с десктопом (он это заметил?), теперь надо отладить.
... and even then it's rare that you'll be going there...
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Windows сервисы и десктоп

Post by OtherSide »

Medium-rare wrote:
OtherSide wrote: нет не правильно! Мне не особенно надо, что бы сервис вообще выдавал окошки. В данный момент получить окошко это простой тестовый код, что бы убедится что права получены.
Сервису ведь разрешили разговаривать с десктопом (он это заметил?), теперь надо отладить.
Я же написал, что сервис это не заметил. Из сервиса окошко не показывается.
В интернетах одни пишут что вообще невозможно говорить с десктопом из сервиса, другие что надо реестр поменять.
Но ничего не помогает
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Windows сервисы и десктоп

Post by Medium-rare »

"Контрольная запись в логи идёт", думал, какое-то значение у той записи, что что-то конкретное сделано. Зачем сервису в этой схеме окошки?

Но если окошки из сервиса очень нужны, то, наверное, так делается. UAC вовсю мешается, пока ему не сказать.
... and even then it's rare that you'll be going there...
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Windows сервисы и десктоп

Post by OtherSide »

Да окошки мне нафига не нужны.нужен dde сервер. Окошко открываю просто что бы проверить есть ли права что бы потом раскочегарить dde
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Windows сервисы и десктоп

Post by OtherSide »

Мне кажется dde сервер логичнее всего пхнуть в сервис но сервис не дает на это прав. Вопрос как их получить
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Windows сервисы и десктоп

Post by Medium-rare »

Не найдя прямого ответа, разрешения сервису можно выставить утилитой sc. Конкретно sc sdset. Ищите конкретное разрешение.
... and even then it's rare that you'll be going there...

Return to “Вопросы и новости IT”