您需要实现自定义ICredentialProvider组件,将其挂钩到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
此机制适用于Windows Vista和Windows 7.如果要为Windows XP实现相同的结果,则需要使用名为GINA的类似机制.
在这里您可以阅读更多关于GINA:Winlogon and GINA的信息
有一种黑客可以在Windows XP中“解锁”一个会话.
Windows XP中的Winlogon创建了一个额外的桌面,并在用户选择锁定会话时切换到该桌面.可以使用Windows API切换回“普通”桌面.除了Winlogon之外,一切都运行正常,尽管该系统已被锁定且对Ctrl-Alt-Del没有反应.
我相信它不适用于Windows Vista和7.但你可以试试.它可以比实现自定义凭据提供程序简单.
以下是如何执行此操作的示例:Remotely Unlock a Windows Workstation
我希望这能回答你的问题.