Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > FindWindow и Windows 2003 Server


Автор: HappyLife 24.8.2007, 12:33
Собрал две программы. Вторая ищет определенное окно первой, для посылки некоторых сообщений. Под Вынем XP работает прекрасно, а вот под Windows 2003 Server постоянно вываливается сообщение "Окно не найдено". Сообщение моё, в случае возвращения нулевого описателя. С чем это может быть связано? Подозреваю права доступа.

Для чего это нужно.
Пытаюсь сделать визуальный интерфейс для моего сервиса, при помощи второй программы.

Автор: dumb 24.8.2007, 14:07
гм. пардон, что не отвечаю на сам вопрос. а что ты потом с этим окном делать будешь?..
лучше сделай нормальное общение через mmf или, что еще лучше, через tcp - это даст возможность рулить сервисом удаленно.

Автор: HappyLife 24.8.2007, 15:42
dumb, у меня есть обработка некоторых специальных оконных сообщений на сервисе. Так что, уже что-то я с ним делаю)

P.S Вопрос несколько видоизменяется.
Если зайти локально на компьютер, то все работает как часы, если зайти удаленно, то есть через удаленный рабочий стол, то возникает этот глюк.
Спасибо за подсказку насчет tcp.

Автор: dumb 24.8.2007, 15:59
Цитата(HappyLife @  24.8.2007,  16:42 Найти цитируемый пост)
если зайти удаленно, то есть через удаленный рабочий стол, то возникает этот глюк.
дык. это ж другая сессия, другой десктоп... http://msdn2.microsoft.com/en-us/library/ms683502.aspx

btw, короткая цитата оттуда:
Цитата
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.

Автор: NiJazz 28.8.2007, 08:10
Кстати, интерактивные сервисы могут быть запрещены в новых версиях Windows. Microsoft уже давно рекомендует не создавать интерактивных служб, да и по сути это противоречит их назначению. 
Лучшие способ - иметь сервис и GUI-приложение, которое работает с пользователем и с сервисом через сокет или именованный канал. Сокеты просты в использовании и позволяют, не заморачиваясь на специфике технологий от M$, реализовывать взаимодействие по сети.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)