![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.12.2007
Сообщений: 26
|
![]()
Здравствуйте.
Есть служба полностью работает на ХР, служба просто выводит сообщение, но под вистой не хочет работать, т.е. она запускается, в службах стоит статус что работает, но ни одного сообщения не выводит. галочка "Разрешить взаимодействие с рабочим столом" стоит. Запускал от разных пользователей и от локального админа и от админа домена. И устанавливал службу тоже от разных пользователей результат один и тот же. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Служба НЕ ДОЛЖНА взаимодействовать с рабочим столом.
Выбейте это в камне и поставьте себе на рабочий стол.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 02.12.2007
Сообщений: 26
|
![]()
Ну если я убираю галочку "Разрешить взаимодействие с рабочим столом" в ХР служба перестает работать т.е. не выводит в файл НИЧЕГО, не ставит НООК, не выдает даже пустого сообщения, а когда галочка стоит все работает как надо, ну а вот в висте это не помогает.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Повторяю, если не дошло: служба - НЕ ДОЛЖНА взаимодействовать с рабочим столом.
Галочка интерактивного сервиса была сделана исключительно для решения проблем обратной совместимости и не должна использоваться в новых службах. О чём ясно и недвусмысленно чёрным по белому сказано в MSDN, который безграмотные программисты, конечно же, не читают. А потом удивляются, а чего это их программа не работает в следующей версии ОС (действительно: а чего это? если вас явно предупреждали: не используйте это!). То, что вы использовали эту галочку - ну и сами себе буратино. Правильный вариант действия: запуск приложения в сессии пользователя, которое устанавливает связь со службой и делает, что вам там надо: окошки, хуки и т.п. Варианта запуска два: автозагрузка или от службы. Первый хорош, когда ваше приложение - это просто GUI. Второй вариант - когда ваше приложение выполняет какие-то служебные функции. Если у вас вопрос в защите (пользователь не должен закрыть это приложение), то просто запускайте его из-под LOCAL SYSTEM. Тогда у него прав не хватит.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |