Обновлено: Взаимодействие с пользователем на экране входа в Windows - PullRequest
2 голосов
/ 23 февраля 2010

@ UPDATE:

ОК для тех, кто ищет советы по этому вопросу ...


Пока что лучшее, что я нашел, это загрузить себе cpy из pGina (http://www.pgina.org/) и для 2k / xp изменить GINA, а для vista / win7 вам нужно будет создать свои учетные данные для входа в систему (pGina имеет инструменты / примеры для взаимодействия с архитектурой vista / win7).

чтобы подтвердить - кажется, что это то, что Novell делает с Vista / Win7, а не традиционный метод замены GINA (как в 2k / XP)

Если кто-то еще найдет способ запустить приложение на экране входа в Win7, пожалуйста, опубликуйте его. Спасибо всем за помощь и вклад.



«------------------------------------------------- --------------------------------

Хорошо, я пишу некоторое программное обеспечение для vb6, которое требует ввода перед тем, как пользователь войдет в систему.

В основном я хочу запустить приложение на экране входа в систему Windows, где пользователь может взаимодействовать с программой. В настоящее время у меня есть приложение, работающее как сервис, позволяющий взаимодействовать с рабочим столом, но оно все еще отображается.

У кого-нибудь есть другие идеи, чтобы заставить это работать.

Я знаю, что «Разрешить службе взаимодействовать с рабочим столом» будет работать в Windows 2000 / XP, я работаю под Windows 7 - я также знаю, что службы не могут напрямую взаимодействовать с пользователем с Windows Vista - говоря это, есть ли другие методы для запуска моего приложения на экране входа в систему. Novell делает это :)

Ура заранее

Ответы [ 3 ]

3 голосов
/ 23 февраля 2010

Вы можете сделать это, только если вы аутентифицируете учетные данные самостоятельно. До Vista это делалось через GINA, но начиная с Vista, вам нужно написать свой провайдер учетных данных .

Причины этого кроются глубоко в принципах безопасности - Ctrl-Alt-Del будет вызывать только оконную станцию, связанную с входом в систему (и т. Д.), И никакое другое приложение не может получить доступ к этой оконной станции (так что вы можете например, не создавать фальшивый ящик для паролей поверх паролей).

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

2 голосов
/ 23 февраля 2010

Изоляция службы, вероятно, не позволит вам сделать это из службы.

Предварительная версия Novell и тому подобное, вероятно, использовали бы GINA, которая была заменена в Vista;http://msdn.microsoft.com/en-gb/magazine/cc163489.aspx

0 голосов
/ 23 февраля 2010

Единственный способ, которым я знаю, - написать собственный файл msgina.dll.

Это может стать рискованным во время тестирования. Любые ошибки могут испортить вашу ОС настолько, что потребуется полная переустановка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...