使用 vc++ 与凭证提供者合作
Working with credential provider using vc++
我正在开发自定义凭证提供程序 windows 登录。我正在使用网络摄像头进行人脸识别,我想在 window 登录屏幕的 TILEIMAGE 中显示网络摄像头的预览。
我使用回调函数从网络摄像头获得了一个帧,但我无法在 TILEIMAGE 中显示每个帧。仅当用户单击任何组件时图像才会更改。
{
void CSampleCredential::OnFrameRecieve(BYTE * pBuffer, long BufferSize)
{
HWND hwndOwner = NULL;
HDC hMem = CreateCompatibleDC ( GetDC ( NULL ) ) ;
HBITMAP bbmp=CreateBitmapFromPixels(hMem,320,240,24,pBuffer);
BufferSize=BufferSize;
if (_pCredProvCredentialEvents)
{
_pCredProvCredentialEvents->OnCreatingWindow(&hwndOwner);
HRESULT res =_pCredProvCredentialEvents->SetFieldBitmap(this,SFI_TILEIMAGE,bbmp);
BufferSize=BufferSize;
res=res;
::MessageBox(hwndOwner, L"OnFrameRecieve", L"True", 0);
}
}
}
如何实时更新 TILEIMAGE?
为了在您的 GUI 中持续显示任何更新,您可以使用
强制提供商再次枚举您的凭据
一个好的起点是 V1 samplehardwareeventcredentialprovider
我正在开发自定义凭证提供程序 windows 登录。我正在使用网络摄像头进行人脸识别,我想在 window 登录屏幕的 TILEIMAGE 中显示网络摄像头的预览。
我使用回调函数从网络摄像头获得了一个帧,但我无法在 TILEIMAGE 中显示每个帧。仅当用户单击任何组件时图像才会更改。
{
void CSampleCredential::OnFrameRecieve(BYTE * pBuffer, long BufferSize)
{
HWND hwndOwner = NULL;
HDC hMem = CreateCompatibleDC ( GetDC ( NULL ) ) ;
HBITMAP bbmp=CreateBitmapFromPixels(hMem,320,240,24,pBuffer);
BufferSize=BufferSize;
if (_pCredProvCredentialEvents)
{
_pCredProvCredentialEvents->OnCreatingWindow(&hwndOwner);
HRESULT res =_pCredProvCredentialEvents->SetFieldBitmap(this,SFI_TILEIMAGE,bbmp);
BufferSize=BufferSize;
res=res;
::MessageBox(hwndOwner, L"OnFrameRecieve", L"True", 0);
}
}
}
如何实时更新 TILEIMAGE?
为了在您的 GUI 中持续显示任何更新,您可以使用
强制提供商再次枚举您的凭据一个好的起点是 V1 samplehardwareeventcredentialprovider