Как разрешить интерактивные сервисы в Windows 7?

48795
Mehrdad

Мне нужно запустить сервис в интерактивном режиме на моем компьютере.
(Я уже знаю о последствиях.)

Как включить службу (запущенную в сеансе 0) для взаимодействия с текущим рабочим столом в Windows 7?

5

2 ответа на вопрос

5
Harry Johnston

Начиная с Windows Vista, нет напрямую интерактивных сервисов. «Разрешить службе взаимодействовать с рабочим столом» в основном является устаревшей опцией, хотя, если вы используете ее, UI0Detect должен появиться и позволить вам переключиться на специальный рабочий стол для взаимодействия со службой.

В этой статье описаны некоторые варианты. Если у вас есть дополнительные вопросы, я предлагаю вам задать их в Stack Overflow, так как это проблема программирования.

Обратите внимание, что в Windows 7 служба UI0Detect не запускается по умолчанию. Если вам нужен доступ к устаревшим интерактивным службам, вы можете изменить конфигурацию автоматического запуска UI0Detect. Harry Johnston 10 лет назад 0
1
surfasb

Пока это разработано правильно, перейдите под services.msc и установите флажок:

enter image description here

Там написано "Пожалуйста, введите действительный пароль". Кроме того, не будут ли привилегии здесь довольно ограничены? Mehrdad 12 лет назад 0
Зависит от того, что вы делаете. , , Что вы пытаетесь делать в любом случае? а что такое сервис? surfasb 12 лет назад 0
Это программа, которую я сделал для себя. Для этого нужны системные привилегии, но, как я уже сказал, это вторичное беспокойство. Основное беспокойство заключается в том, что это даже не работает, так как он спрашивает у меня пароль. Mehrdad 12 лет назад 0
Services.msc запрашивает пароль? Выберите учетную запись локальной системы. Извините, этот СС сбивает с толку, я думаю. surfasb 12 лет назад 0
Да, он просит пароль. Если я говорю «Локальная системная учетная запись», то она все равно не может взаимодействовать (даже если я поставлю флажок, UI0Detect будет дразнить меня). Mehrdad 12 лет назад 0
Как вы написали это приложение? C # или C ++? Какие классы Win32 вы называете? Есть определенные контракты, которым вы должны следовать. Вероятно, поэтому ОС вас и рвет. Обычно НИКТО не пишет службу, которая взаимодействует с рабочим столом, потому что рабочий стол еще не существует при запуске, и служба может работать в любое время. Люди обычно пишут сервис, а затем пишут отдельную программу пользовательского интерфейса для взаимодействия с сервисом. surfasb 12 лет назад 0
C ++. Так ты говоришь, что это невозможно? Mehrdad 12 лет назад 0
Я говорю, что использование сервиса для вызова объекта пользовательского интерфейса, который может не существовать, является ошибочным способом сделать что-то. surfasb 12 лет назад 0
«Разрешить службе взаимодействовать с рабочим столом» является устаревшей опцией, поскольку в Windows Vista она больше не работает. Harry Johnston 12 лет назад 2
@HarryJohnston: я помню, что читал нечто подобное, но не удосужился найти его. Просто убедившись, что я не схожу с ума. surfasb 12 лет назад 0