如何在 C# 中创建自定义 Windows 登录屏幕?

D__*_*D__ 5 .net c# windows winlogon

我想在相对较新的 Windows 计算机(7、8 或 10)上实现自定义登录屏幕(使用自定义登录方法,例如指纹或其他方法)。

不知何故,我找不到这个主题的真实描述,我要么在 GINA (现在似乎已弃用),要么在这个(据说非常有用)链接:http ://msdn.microsoft.com/ en-us/magazine/cc163489.aspx只会引导我找到所有 MSDN 杂志的存档...

所有这些看起来都有点旧了,是不是有一些更新的东西?

更新:我查阅了 pGina,因为它在一个被标记为重复的问题中被建议。然而,在我看来,pGina 不支持将自定义 UI 添加到登录屏幕,这对我来说至关重要。另外,虽然我发现提到能够使用辅助信用提供商(https://github.com/pgina/pgina/issues/105),但我找不到关于如何实现的描述。

所以请证明我错了,或者只是给我指出一些其他资源!

提前致谢!

小智 4

要实现这种控制,您必须创建一个实现 ICredentialProvider 的 COM 对象。您还需要 ICredentialProviderCredential 的实现。

我之前也遇到过同样的问题,因此我用 C# 创建了一个示例,通过创建自定义 ICredentialProvider .NET 类并将其公开给 COM 来为您提供这种控制。

您可以在这里找到它: https://github.com/phaetto/windows-credentials-provider

有关更多详细信息,您需要查看“凭据提供商技术参考”,以找出您需要支持的具体场景。