凭据提供程序的自定义GUI

时间:2013-04-23 20:20:10

标签: c++ .net login credential-providers

我围绕OpenCV / EmguCV设计了一个面部识别算法(尚未被打败!)

现在,我显然想用它来登录我的电脑。看来,实现此目的的最佳方法是实现自定义凭据提供程序(如Windows 8提供的图片锁定)。但据我所知,凭据提供者无法定义自定义GUI(我的需要),必须将定义字段用于LoginUI以呈现其UI。

但我见过凭证提供商的自定义用户界面(图片锁定,商业生物指标等)。我错过了什么吗?是否有一些无证的方式这样做?或者我真的只是对凭据提供者一无所知?

默认情况下我是.NET程序员,但我不介意将我的算法转换为C ++(不应该很难,因为它是OpenCV)

1 个答案:

答案 0 :(得分:0)

如果您创建凭据提供程序,则可以在common.h文件中定义自定义UI。

这个用户界面会很有限,而且会很痛苦,但这是我所知道的唯一方法。您可以在实现ICredentialProviderCredential2;的类的Initialize()方法中进行附加初始化。

您以后可以像这样更新字段:

hr = _pCredProvCredentialEvents->SetFieldString(this, SFI_LARGE_TEXT, L"New text");

您也可以像这样弹出窗口:

HWND hwndOwner = NULL;
_pCredProvCredentialEvents->OnCreatingWindow(&hwndOwner);
::MessageBox(hwndOwner, L"The text of the new window", L"new window title", MB_ICONWARNING);

如果您想要一个良好的起点,回购非常有用: https://github.com/DavidWeiss2/windows-Credential-Provider-library