Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2010, 14:36   #1
Alex.rus
Пользователь
 
Аватар для Alex.rus
 
Регистрация: 02.12.2007
Сообщений: 26
По умолчанию Service(служба) и Windows vista

Здравствуйте.
Есть служба полностью работает на ХР, служба просто выводит сообщение, но под вистой не хочет работать, т.е. она запускается, в службах стоит статус что работает, но ни одного сообщения не выводит. галочка "Разрешить взаимодействие с рабочим столом" стоит. Запускал от разных пользователей и от локального админа и от админа домена. И устанавливал службу тоже от разных пользователей результат один и тот же.
Alex.rus вне форума Ответить с цитированием
Старый 24.08.2010, 17:22   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Служба НЕ ДОЛЖНА взаимодействовать с рабочим столом.

Выбейте это в камне и поставьте себе на рабочий стол.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 25.08.2010, 06:52   #3
Alex.rus
Пользователь
 
Аватар для Alex.rus
 
Регистрация: 02.12.2007
Сообщений: 26
По умолчанию

Ну если я убираю галочку "Разрешить взаимодействие с рабочим столом" в ХР служба перестает работать т.е. не выводит в файл НИЧЕГО, не ставит НООК, не выдает даже пустого сообщения, а когда галочка стоит все работает как надо, ну а вот в висте это не помогает.
Alex.rus вне форума Ответить с цитированием
Старый 25.08.2010, 11:55   #4
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Повторяю, если не дошло: служба - НЕ ДОЛЖНА взаимодействовать с рабочим столом.

Галочка интерактивного сервиса была сделана исключительно для решения проблем обратной совместимости и не должна использоваться в новых службах. О чём ясно и недвусмысленно чёрным по белому сказано в MSDN, который безграмотные программисты, конечно же, не читают. А потом удивляются, а чего это их программа не работает в следующей версии ОС (действительно: а чего это? если вас явно предупреждали: не используйте это!).

То, что вы использовали эту галочку - ну и сами себе буратино.

Правильный вариант действия: запуск приложения в сессии пользователя, которое устанавливает связь со службой и делает, что вам там надо: окошки, хуки и т.п.

Варианта запуска два: автозагрузка или от службы. Первый хорош, когда ваше приложение - это просто GUI. Второй вариант - когда ваше приложение выполняет какие-то служебные функции.

Если у вас вопрос в защите (пользователь не должен закрыть это приложение), то просто запускайте его из-под LOCAL SYSTEM. Тогда у него прав не хватит.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Windows Служба USB устройства caesar_88 Общие вопросы Delphi 2 19.06.2010 23:56
Windows Service Majestery Общие вопросы .NET 0 16.06.2010 16:14
Служба Windows Dezmont_ Win Api 7 30.04.2010 10:40
Windows 2000 Service Pack 1 Иван Ришко Windows 5 20.06.2009 12:49
Служба Plug&Play в Windows =LeonZone= Свободное общение 4 23.08.2007 18:35