Как я могу использовать SendKeys в окне входа в Windows 7? - PullRequest
3 голосов
/ 18 марта 2011

Хорошо, поэтому я делаю систему физического входа в систему на основе Arduino для моего компьютера.В основном, я настроил тростниковый переключатель, чтобы при его отключении он отправлял некоторую последовательную информацию в программу на python, а когда это происходит, SendKeys вводит пароль (возможно, в поле входа в систему).Я знаю, что это совсем не безопасно, но это более или менее доказательство концепции.Вот часть кода, которая отправляет пароль.

while var == 1:
xx = ser.read()
print xx
if xx == '7':
    SendKeys.SendKeys(Info.passwd + """{ENTER}""")
    time.sleep(2)
else:
    pass

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

Ответы [ 2 ]

1 голос
/ 15 октября 2013

Правильный способ расширить функциональность экрана входа в систему Windows Vista / 7/8 - реализовать поставщик учетных данных. Для этого есть API, с хорошим введением здесь . До Vista такая настройка была выполнена с помощью пользовательских библиотек GINA.

Итак, вам придется изменить свою программу на Python для взаимодействия с одним из этих двух решений.

0 голосов
/ 18 марта 2011

Экран входа в систему Windows 7 разработан, чтобы остановить это.По сути, вам нужно было бы подключить устройство USB или PS / 2, которое действовало как клавиатура и получало команды из вашего скрипта.Думая об этом, Bluetooth тоже может хорошо работать.

Какой бы подход ни был, это будет много работы ...

...