自定义GUI的凭据提供程序

Custom GUI for Credential Provider

本文关键字:程序 GUI 自定义      更新时间:2023-10-16

我已经围绕OpenCV/EmguCV设计了一个面部识别算法(还没有被打败!)

现在,我显然想用它来登录我的电脑。要做到这一点,最好的方法似乎是实现一个自定义的凭据提供程序(就像windows 8提供的图片锁一样),但据我所知,凭据提供程序不能定义一个自定义的GUI(我需要),必须通过定义LoginUI字段来呈现他们的UI。

但我见过自定义用户界面的证书提供商(图片锁,商业生物识别等)。我错过什么了吗?是否有一些未记录的方法来做到这一点?还是我真的对证书提供商一无所知?

我默认是。net程序员,但我不介意将我的算法转换为c++(应该不难,因为它是OpenCV)

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

这个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);

如果你想要一个好的开始,这个repo是非常有用的:https://github.com/DavidWeiss2/windows-Credential-Provider-library