使用.net解锁本地计算机

前端之家收集整理的这篇文章主要介绍了使用.net解锁本地计算机前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法,没有使用DLL注入,服务,诸如此类,使用.net解锁本地计算机? Windows用户名和密码可供我的程序使用.
我认为没有可用于解锁计算机的.NET功能,并没有简短的方法来实现它.但有一种方法.

您需要实现自定义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

我希望这能回答你的问题.

猜你在找的Windows相关文章