sgcBiometrics beş dakikada

Delphi'de Windows Hello ve parmak izi kimlik doğrulaması, Windows Biometric Framework üzerinden. Bu sayfa bir sensörü çalıştırır, önündeki kullanıcıyı doğrular ve kim olduğunu belirler. Sensör başlatıldıktan sonra iki metot çağrısı.

Windows Hello yüz ve parmak izi
Yalnızca Windows, winbio.dll üzerinden
Tek derleme, özellik kademesi yok

İlk kontrol için gerekenler

Bir bileşen, sensörü çalıştırmak için bir çağrı ve soruyu sormak için bir çağrı. Önce yapılandırılacak hiçbir şey yoktur.

Yüz

SGC Biometrics palet sayfasındaki TsgcWinBioFacial, sgcBiometrics.pas içinde bildirilir. Bu, Windows Hello yüz bileşenidir.

Parmak izi

TsgcWinBioFingerPrint, aynı unit, aynı palet sayfası. API aynı biçimdedir; üzerine kayıt ve şablon yönetimi eklenir.

İki bileşen daha

TsgcWinBioStorageFile ve TsgcWinBioUsersINI; sistem havuzunu kullanmak yerine kendi şablon veritabanınızı tuttuğunuzda özel havuz depolaması içindir.

Platform

Yalnızca Windows. Kitaplık winbio.dll dosyasını çalışma zamanında yükler ve her unit {$IFDEF SGC_WINBIO} içine sarılıdır; bu nedenle başka her hedefte unit'ler hiçbir şeye derlenmez.

Gereksinimler ve sürümler

sgcBiometrics'in özellik kademeleri yoktur; bu nedenle bu tablo sürümlerle değil derleyicilerle ve işletim sistemiyle ilgilidir.

Konu Değer
IDE Delphi 7 ve Delphi 2007'den RAD Studio 13'e, ayrıca eşleşen C++Builder sürümleri. SGC_WINBIO, yalnızca sürüm işaretçisini tanımlayan Delphi 2006 dışında her derleyici sürümü bloğu için tanımlanır; dolayısıyla Delphi 2006'da ürün hiçbir şeye derlenmez.
Uses yan tümcesi Demo şunu yazar: sgcBiometrics_WinBio_Types, sgcBiometrics, sgcBiometrics_WinBio_Storage, sgcBiometrics_WinBio_Storage_File, sgcBiometrics_Classes, sgcBiometrics_Client, sgcBiometrics_WinBio_Client, sgcBiometrics_WinBio_Client_Facial. Düz bir doğrulama için çok daha azına ihtiyacınız vardır.
Sürümler Hiç yok. Ürünün kendi sgcVer.inc dosyası bir derleyici sürümü haritasından başka bir şey değildir ve hiçbir yerde SGC_EDT_* tanımı yoktur. Her bileşen her derlemede bulunur.
Hangi Windows API'si winbio.dll dosyasından dinamik olarak yüklenen klasik Win32 Windows Biometric Framework. WinRT değildir; bu nedenle WinRT bağlamalarının dayattığı yeni bir RAD Studio alt sınırı yoktur.
Platform Yalnızca Windows. Her WinBio unit'i arayüzünü ve gerçekleştirimini {$IFDEF SGC_WINBIO} içine sarar ve hepsinin uses yan tümcesinde Windows vardır. Tanım olmadan unit'ler hiç tür içermez.
Donanım Windows'un zaten tanıdığı bir biyometrik sensör. Windows Hello Ayarlar uygulamasında çalışıyorsa bileşen aynı sensörü bulacaktır.

Yüz bileşeninin kullandığı varlık izleme olayları API'nin Windows 10 neslindendir. Makinede Windows Hello yüz ile oturum açma kullanılabiliyorsa bileşenin ihtiyaç duyduğu her şey vardır.

Kurun ve palet sayfasını bulun

Tasarım zamanı paketini kurmadan önce çalışma zamanı paketini derleyin, çünkü ikincisi birincisine başvurur.

1. Zip dosyasını açın

İndirdiğiniz dosyayı aşağıda {$DIR} olarak adlandırılan bir klasöre açın.

2. Kitaplık yolu

Tools, Options, Environment Options, Directories. Her RAD Studio sürümü için geçerli olan {$DIR}\source yolunu ekleyin.

3. Lib klasörünü ekleyin

Sürüme özgü klasörü de ekleyin; örneğin RAD Studio 13'te {$DIR}\libD13\$(Platform), en eski derleyicilerde platform son eki olmadan {$DIR}\libD7'ye kadar.

4. Yalnızca C++Builder

Ayrıca lib klasörünü System Include yoluna, .bpi dosyalarını içeren dcp\$(Platform) klasörünü ise kitaplık yoluna koyun.

5. Paketleri derleyin

IDE sürümünüz için Packages\sgcBiometricsD13.groupproj dosyasını açın. Önce sgcBiometricsD13.dpk dosyasını derleyin, ardından dclsgcBiometricsD13.dpk dosyasını kurun. Dört bileşen içeren SGC Biometrics adlı bir sayfa görünür.

Bir kullanıcıyı yaklaşık on satırda doğrulayın

Sensörü çalıştırın, ardından iki sorudan birini sorun: bu beklenen kişi mi, yoksa bu kim? İkisi de doğrudan bir yanıt döndürür.

FFacial.pas
uses
  SysUtils, Classes,
  // sgc
  sgcBiometrics, sgcBiometrics_WinBio_Client,
  sgcBiometrics_WinBio_Client_Facial;

procedure TFRMFacial.btnFacialRecognizeClick(Sender: TObject);
begin
  if not Facial.SessionIsOpen then
  begin
    if Facial.InitializeSensors(10000) then
    begin
      if Facial.FacialRecognize then
        DoLog('#Recognized');
    end;
  end
  else
  begin
    if Facial.FacialRecognize then
      DoLog('#Recognized');
  end;
end;

InitializeSensors bir Boolean döndürür ve milisaniye cinsinden bir zaman aşımı alır. SessionIsOpen, zaten oturumu olan bir sensörde ikinci bir oturum açmanızı engeller. FacialRecognize, kameranın önündeki kişi eşleştiğinde True döndürür.

FFacial.pas
procedure TFRMFacial.btnFacialIdentifyClick(Sender: TObject);
begin
  if not Facial.SessionIsOpen then
  begin
    if Facial.InitializeSensors(10000) then
      DoLog('#Identified: ' + Facial.FacialIdentify)
  end
  else
    DoLog('#Identified: ' + Facial.FacialIdentify);
end;

İki çağrı arasındaki fark sorudur. FacialRecognize "bu beklenen kişi mi" diye sorar ve bir Boolean döndürür. FacialIdentify "bu kim" diye sorar ve hesap tanımlayıcısını bir string olarak döndürür; kimse tanınmadığında boştur. İkisi de varsayılanı on saniye olan isteğe bağlı bir zaman aşımı alır.

FFacial.pas
// Three parameters, and the third has a default.
// There is no OnCapture: the capture event is OnCaptureSample.
procedure TFRMFacial.FacialError(Sender: TObject; const aError: string;
  const aCode: Integer);
begin
  DoLog('Error: ' + aError + ' [' + IntToStr(aCode) + ']');
end;

Diğer olaylar Windows Biometric Framework yapılarını taşır; bu nedenle parametre listeleri tipik bir Delphi olayından daha uzundur. OnVerify altı, OnIdentify dört parametre alır. Bunları yazmak yerine Object Inspector üzerinden oluşturun.

Üç sekmenin hepsi, ne olduğunu görmenizi sağlayan günlük çağrıları korunmuş olarak paketle gelen Demos\Facial\FFacial.pas demosundan alınmıştır. İkinci bir demo olan Demos\FingerPrint, kayıt, şablon yönetimi ve özel sensör havuzunu kapsar.

Çağrının verdiği yanıtı okuyun

İki soru da doğrudan bir değer döndürür; bu nedenle kodunuzun ilk sürümü hiç olay işleyicisi gerektirmez.

InitializeSensors

Bir sensörde oturum açıldığında True döndürür. Buradaki False, konuşulacak bir şey olmadığı anlamına gelir ve sonraki hiçbir çağrı çalışmaz.

FacialRecognize

Kişi eşleştiğinde True döndürür. Bu tek boolean, bir kimlik doğrulama istemi için yanıtın tamamıdır.

FacialIdentify

Tanınan kişinin hesap tanımlayıcısını döndürür; kimse tanınmadıysa boş bir dize döndürür. Kişinin olup olmadığını değil kim olduğunu bilmeniz gerektiğinde kullanın.

OnError

procedure(Sender: TObject; const aError: string; const aCode: Integer = 0). Kod, Windows Biometric Framework hatasıdır; ileti tek başına yeterli olmadığında istediğiniz budur.

İlk seferde genellikle ne ters gider

İlk denemelerin neredeyse tamamı altı sorundan kaynaklanır.

Hiçbir şey olmuyor ve hata görünmüyor

Sensör oturumu hiç açılmadı. InitializeSensors bir Boolean döndürür ve demo başka bir şey yapmadan önce onu kontrol eder. SessionIsOpen, bir oturumun zaten canlı olup olmadığını söyler; böylece ikinci birini açmazsınız.

Çağrı kullanıcı arayüzünü engelliyor

Doğrulama sensörün önündeki kişiyi bekler ve zaman aşımı varsayılan olarak on saniyedir. Daha kısa bir değer verin veya Asynchronous ayarlayıp sonucu bunun yerine olaylardan yönetin.

Bir OnCapture olayı arıyorsunuz

Bu adda bir olay yoktur. Yakalama olayı OnCaptureSample olayıdır ve sensörün reddettiği bir örnek için eşlik eden OnCaptureSampleReject vardır.

Olay imzası eşleşmiyor

Bu olaylar Windows Biometric Framework yapılarını taşır; bu nedenle beklediğinizden fazla parametreleri vardır. OnVerify kimliği, alt faktörü ve ret ayrıntısı dahil altı parametre alır. İşleyiciyi yazmak yerine IDE'nin oluşturmasına izin verin.

Başka bir platformda derlenmiyor

Derlenemez. Her WinBio unit'i {$IFDEF SGC_WINBIO} içine sarılıdır ve bu yalnızca Windows derleyici bloklarında tanımlanır; bu nedenle Windows dışında unit'ler hiç tür içermez. Bu bir Windows kitaplığıdır.

Özel havuz yönetici hakları gerektiriyor

Sistem havuzu yerine kendi şablon veritabanınızla çalışmak ayrıcalıklı bir işlemdir ve parmak izi demosunun bunun için ayrı bir sekmesi bulunmasının nedeni budur.

İlk kontrolün ötesinde

Dört yön, hepsi aynı kitaplığın içinde.

Kendi kullanıcılarınızı kaydedin

Parmak izi bileşeni tam kayıt döngüsünü taşır: başlat, tekrar tekrar yakala, ardından onayla. Olaylar kaydırma sayısını ve şablonun yeni olup olmadığını bildirir.

sgcBiometrics özellikleri

Kendi şablon veritabanınızı tutun

Depolama ve kullanıcı bileşenleri bir özel havuz uygular; böylece şablonlar Windows sistem havuzunda değil sizin dosyanızda yaşar. Aynı kimliğin denetlediğiniz makineler arasında çalışması gerektiğinde istediğiniz budur.

sgcBiometrics özellikleri

Yalnızca bir istemi değil, varlığı da izleyin

Yüz bileşeni kameranın önündeki kişiyi sürekli izleyebilir; bir kişi geldiğinde, tanındığında veya ayrıldığında olaylar tetikler. Operatör uzaklaştığı anda ekranı bu şekilde kilitlersiniz.

sgcBiometrics özellikleri

Makinenin sahip olduklarını listeleyin

Herhangi birine istem göstermeden önce biyometrik birimleri, veritabanlarını ve mevcut kayıtları listeleyebilirsiniz; bu, yararsız bir hatayı eksik donanım hakkında net bir iletiye dönüştürür.

Sürümler ve paketleme

Başvuru, demolar ve belgeler

İndirmenin içinde iki demo projesi gelir; biri yüz, biri parmak izi için.

sgcBiometrics özellikleri Parmak izi ve yüz bileşenlerinin her birinin sunduğu şeyler.
Sürümler ve paketleme Ürünün nasıl lisanslandığı ve her paketin neleri içerdiği.
Ürüne genel bakış sgcBiometrics'in ne için olduğu ve nereye oturduğu.
Denemeyi indirin Üretimle aynı yükleyici, süre sınırlı.
Destekle iletişime geçin Kodu yazan geliştiricilerden doğrudan e-posta desteği.
Tüm ürünler Her eSeGeCe kitaplığının fiyatlandırması tek bir tabloda.

sgcBiometrics yalnızca Delphi ve C++Builder içindir, .NET karşılığı yoktur. Her ürünün kendi hızlı başlangıcı vardır ve başlarken sayfasında listelenir.

sgcBiometrics hızlı başlangıç soruları

Windows Hello yüz tanıma için TsgcWinBioFacial. Parmak izi için TsgcWinBioFingerPrint. İkisi de sgcBiometrics.pas içinde bildirilir ve ikisi de yalnızca özel havuz depolaması için ihtiyaç duyacağınız TsgcWinBioStorageFile ve TsgcWinBioUsersINI ile birlikte SGC Biometrics palet sayfasındadır. Yani bir değil, toplam dört bileşen.
Yüz bileşeninde FacialRecognize bir Boolean döndürür; kameranın önündeki kişi eşleştiğinde true. FacialIdentify bir string döndürür; tanınan kişinin hesap tanımlayıcısı, kimse tanınmadıysa boş bir dize. İkisi de varsayılanı on saniye olan isteğe bağlı bir zaman aşımı alır ve ikisi de InitializeSensors ile açtığınız bir sensör oturumu gerektirir.
Hayır. Her WinBio unit'i tüm arayüzünü ve gerçekleştirimini {$IFDEF SGC_WINBIO} içine sarar, bu tanım yalnızca ürünün kendi sgcVer.inc dosyasındaki Windows derleyici bloklarında görünür ve her unit'in uses yan tümcesinde Windows vardır. Tanım yokken unit'ler hiç tür içermez. sgcBiometrics bir Windows kitaplığıdır.
Hayır, klasik Win32 Windows Biometric Framework'tür. Kitaplık winbio.dll dosyasını dinamik olarak yükler ve doğrudan çağırır. Bu iki nedenle önemlidir: WinRT bağlamalarının dayattığı modern bir RAD Studio alt sınırı yoktur ve API yüzeyi WinRT'ninki değil, Microsoft'un Windows Biometric Framework olarak belgelediğidir.
Delphi 7 ve Delphi 2007'den RAD Studio 13'e, ayrıca eşleşen C++Builder sürümleri. SGC_WINBIO, Delphi 7'den itibaren her derleyici sürümü bloğunda tek bir boşlukla tanımlanır: Delphi 2006 bloğu yalnızca sürüm işaretçisini tanımlar, SGC_WINBIO değerini tanımlamaz; bu nedenle o tek derleyicide ürün hiçbir şeye derlenmez.
Kodda sürüm yoktur. Ürünün sgcVer.inc dosyası bir derleyici sürümü haritasıdır ve hiç SGC_EDT_* tanımı taşımaz, hiçbir şey kademeyle kısıtlanmaz; bu nedenle her derleme her bileşeni içerir. Fiyatlandırma sayfasında görünen kademeler ticari paketlemedir, farklı kitaplıklar değildir.
Üçten fazla. Yüz bileşeni on iki, parmak izi bileşeni on sekiz olay yayımlar. Windows Biometric Framework yapılarını taşırlar; bu nedenle parametre listeleri tipik bir Delphi olayından daha uzundur: OnVerify altı, OnIdentify dört ve OnError üç parametreye sahiptir. İşleyicileri IDE'nin oluşturmasına izin verin. OnCapture olmadığına dikkat edin; yakalama olayı OnCaptureSample olayıdır.
Windows'un zaten tanıdığı bir biyometrik sensöre ihtiyacınız vardır; pratikte bu, Windows Hello'nun Ayarlar uygulamasında çalışması anlamına gelir. Sistem havuzuna karşı doğrulama yükseltme gerektirmez. TsgcWinBioStorageFile aracılığıyla kendi şablon veritabanınızı tuttuğunuz bir özel havuzla çalışmak ise yönetici hakları gerektirir ve pakette gelen parmak izi demosunun bunu ayrı bir sekmeye ayırmasının nedeni budur.
En avantajlı seçenek: All-AccessTüm eSeGeCe ürünleri, Premium Destek dahil, yılda €1,059'dan itibaren.
All-Access fiyatlarına bakın

Uygulamanıza Windows Hello eklemeye hazır mısınız?

Denemeyi indirin ve yüz demosunu Hello'nun zaten kurulu olduğu bir makinede çalıştırın.