2011-04-23 2 views
6

DLL 삽입, 서비스 및 기타 등을 사용하지 않고 .net을 사용하여 로컬 컴퓨터의 잠금을 해제 할 수 있습니까? 내 사용자 이름과 암호는 내 프로그램에서 사용할 수 있습니다..net을 사용하여 로컬 컴퓨터 잠금 해제

+0

VNC에서 할 수 있기 때문에 VNC 소스를 살펴본 후에 일부 핀 호크 호출로 동작을 모방 할 수있을 것으로 기대합니다. –

답변

5

나는 컴퓨터를 잠금 해제하는 데 사용할 수있는 .NET 기능이 없으며이를 달성 할 수있는 짧은 방법이 없다고 생각합니다. 그러나 방법이 있습니다.

사용자 지정 ICredentialProvider 구성 요소를 구현하고이를 Windows 인증 메커니즘에 연결 한 다음 Windows 인증 메커니즘과 응용 프로그램 간의 통신을 구현해야합니다.

Windows 7 인증 메커니즘은 두 부분으로 구성됩니다. WinLogon과 LogonUI입니다. LogonUI는 사용자의 작업에 대한 로그인 창과 WinLogon 알림을 표시합니다. Winlogon은 LogonUI의 이벤트에 반응하여 로그인 사용자, 로그 오프 사용자, 세션 잠금 및 세션 잠금 해제에 필요한 작업을 수행합니다.

Microsoft는 LogonUI에 사용자 지정 동작을 연결하는 메커니즘을 제공합니다. 이렇게하려면 ICredentialProvider를 구현하고 시스템에 등록하는 COM 개체를 만들어야합니다. 구성 요소는 LogonUI에게 WinLogon에게 세션의 잠금을 해제하도록 지시 할 수 있습니다. How to Build Custom Logon UI’s in Windows Vista Create Custom Login Experiences With Credential Providers For Windows Vista

이 메커니즘은 당신이 달성하려는 경우가 GINA라는 유사한 메커니즘을 사용할 필요가 Windows Vista 및 Windows 7에 대한 작동합니다 : 여기

사용자 자격 증명 공급자를 구축하는 방법의 몇 가지 예입니다 Windows XP에서도 같은 결과가 나타납니다. 여기에서 GINA에 대해 자세히 알아볼 수 있습니다. Winlogon and GINA

Windows XP에서 세션을 "잠금 해제"할 수있는 해킹이있었습니다.

Windows XP의 WinLogon은 추가 데스크톱을 만들고 사용자가 세션을 잠그기로 선택했을 때 전환했습니다. Windows API를 사용하여 "일반"데스크톱으로 다시 전환 할 수있었습니다. 해당 시스템이 잠겨있어 Ctrl-Alt-Del에 대해 반응하지 않았더라도 WinLogon을 제외하고는 모두 정상적으로 작동했습니다. Windows Vista 및 7에서는 작동하지 않을 것이라고 생각합니다.하지만 시도해 볼 수는 있습니다. 맞춤 인증 정보 제공자를 구현하는 것보다 간단 할 수 있습니다. Remotely Unlock a Windows Workstation

나는 이것이 당신의 질문에 대답 희망 : 여기

는 작업을 수행하는 방법의 예입니다.

+0

네, 도움이 될만한 추가 정보가 있습니다. http://stackoverflow.com/a/35173886/1895684 –

1

아니요, 적어도 질문에 지정된 컨텍스트 내에 있지 않습니다. 하지만 물어 봐야 해 - 왜 자물쇠를 풀고 싶니? 응용 프로그램을 실행해야하는 경우 시스템을 잠금 해제 할 필요가 없습니다.

+2

나는 걸어서 갈 때 화면을 잠그고 돌아올 때 내 폰과 블루투스를 사용하여 잠금을 해제하려고합니다. – Soumya

+1

BlueTooth 연결을 사용하여 시스템을 잠 그거나 다시 설정합니다 (잠금 해제). 안전한 소리 ..... –

관련 문제