Виндовые системщики, подскажите, уже вторую неделю бьюсь!
Одно из приложений с которого нужно импортировать данные умеет общаться лишь по DDE, а это по сути очередь виндовых сообщений.
Я хочу написать сервис, который будет коммуницировать и отдавать данные по WCF
Но дело в том, что в последних версиях винды сервисам закрыт доступ к десктопу (а значит очереди сообщений)
В сервисах поставил "allow interact with desktop", поменял как советовали флажок в реестре, но один фиг контрольное MessageBox.Show("Hi!"); не срабатывает. При этом код там выполняется, выше и ниже контрольная запись в логи идет, т.е. оно не падает, но и диаложик не вылетает.
Подскажите, оно вообще реально возможно из сервиса раскочегарить windows messages или стоит отбросить идею и искать другой путь?
Windows сервисы и десктоп
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Windows сервисы и десктоп
Надо ли это понимать, как DDE сообщение принято, но программа не в состоянии выдать окошко наружу? Сам этот GUI не сервис?OtherSide wrote:В сервисах поставил "allow interact with desktop", поменял как советовали флажок в реестре, но один фиг контрольное MessageBox.Show("Hi!"); не срабатывает. При этом код там выполняется, выше и ниже контрольная запись в логи идет, т.е. оно не падает, но и диаложик не вылетает.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Windows сервисы и десктоп
нет не правильно! Мне не особенно надо, что бы сервис вообще выдавал окошки. В данный момент получить окошко это простой тестовый код, что бы убедится что права получены.Medium-rare wrote:Надо ли это понимать, как DDE сообщение приянто, но программа не в состоянии выдать окошко наружу?OtherSide wrote:В сервисах поставил "allow interact with desktop", поменял как советовали флажок в реестре, но один фиг контрольное MessageBox.Show("Hi!"); не срабатывает. При этом код там выполняется, выше и ниже контрольная запись в логи идет, т.е. оно не падает, но и диаложик не вылетает.
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Windows сервисы и десктоп
Это из самого сервиса? DDE сообщение принято? Или принято сообщение о полученных правах? Отсюда плохо видно.OtherSide wrote: нет не правильно! Мне не особенно надо, что бы сервис вообще выдавал окошки. В данный момент получить окошко это простой тестовый код, что бы убедится что права получены.
По идее, у вас и так замысел есть отдельная от сервиса гуевая программа, слушаящая его сообщения. Ей же всё равно, сервис сообщения бросает, или другая десктопная программа. Сервису ведь разрешили разговаривать с десктопом (он это заметил?), теперь надо отладить.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Windows сервисы и десктоп
Я же написал, что сервис это не заметил. Из сервиса окошко не показывается.Medium-rare wrote:Сервису ведь разрешили разговаривать с десктопом (он это заметил?), теперь надо отладить.OtherSide wrote: нет не правильно! Мне не особенно надо, что бы сервис вообще выдавал окошки. В данный момент получить окошко это простой тестовый код, что бы убедится что права получены.
В интернетах одни пишут что вообще невозможно говорить с десктопом из сервиса, другие что надо реестр поменять.
Но ничего не помогает
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Windows сервисы и десктоп
"Контрольная запись в логи идёт", думал, какое-то значение у той записи, что что-то конкретное сделано. Зачем сервису в этой схеме окошки?
Но если окошки из сервиса очень нужны, то, наверное, так делается. UAC вовсю мешается, пока ему не сказать.
Но если окошки из сервиса очень нужны, то, наверное, так делается. UAC вовсю мешается, пока ему не сказать.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Windows сервисы и десктоп
Да окошки мне нафига не нужны.нужен dde сервер. Окошко открываю просто что бы проверить есть ли права что бы потом раскочегарить dde
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Windows сервисы и десктоп
Мне кажется dde сервер логичнее всего пхнуть в сервис но сервис не дает на это прав. Вопрос как их получить
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Windows сервисы и десктоп
Не найдя прямого ответа, разрешения сервису можно выставить утилитой sc. Конкретно sc sdset. Ищите конкретное разрешение.
... and even then it's rare that you'll be going there...