Разблокировать рабочую станцию ​​Windows программно

Я хотел бы написать небольшое приложение, которое разблокирует рабочую станцию. Чтобы поставить спецификации того, что мне нужно очень просто: используйте exe, который запускается и в определенное время (допустим, полночь) разблокирует рабочую станцию. Конечно, приложение знает пользователя и пароль зарегистрированной учетной записи.

Я знаю API LogonUser и пытаюсь использовать его, но не удалось. У кого-нибудь есть решение, выдержка кода, которая действительно работает для этой проблемы?

Я нацелен на ОС NT5.


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

Ответы

Ответ 1

Просто так у вас есть ответ для этого, а не для людей, оставляющих ответы, которые могут быть лучше в комментариях.

Это, безусловно, возможно, хотя, как многие люди уже сказали, что это не очень мудро, что происходит, если кто-то ходит по компьютеру, когда он разблокируется, сколько времени им нужно играть и т.д.?

В любом случае, помимо предложения о том, что у вас есть служба для выполнения любой работы, которую вы хотите использовать на компьютере hte, или даже для удаленного подключения к компьютеру для выполнения работы, вы можете предоставить пользователю следующую информацию. (что касается "кода", вы можете сделать это сами)

http://www.paralint.com/projects/aucun/ - это реализация GINA, которая сможет предоставить вам права на вход в систему, даже если кто-то еще уже вошел в систему. Послушайте, это может быть то, что вы ищете, и намного безопаснее, чем разблокировать рабочую станцию ​​в определенное время.

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

Информация о GINA

http://msdn.microsoft.com/en-gb/magazine/cc163803.aspx

http://msdn.microsoft.com/en-us/magazine/cc163786.aspx

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

http://www.codeproject.com/win32/AntonioWinLock.asp

Ответ 2

Пусть ваше приложение запускается как служба, тогда вам не нужен пользователь/пароль, который настроен с помощью службы.

Ответ 4

Для моей ситуации мне нужно было восстановить консольный сеанс после отключения сеанса терминала (я подключаюсь к киоску WinXPe с сенсорным экраном, но без клавиатуры).

Вот решение командной строки, которое я нашел для работы. Вместо закрытия окна сеанса для отключения, я запускаю пакетный файл со следующей строкой. Моя сессия закрыта, и сеанс консоли восстанавливается разблокированным.

  • автоматически разблокировать рабочую станцию ​​после сеанса терминала на WinXP

    tscon.exe 0 /dest:console
    
  • для Windows Vista/7 номер сеанса консоли изменился с 0 на 1, поэтому вам нужно использовать

    tscon.exe 1 /dest:console
    




Ссылка источника: http://arstechnica.com/civis/viewtopic.php?f=15&t=69113