2017-03-18 75 views

回答

4

您需要添加對將出現在COM類型庫下的ZKFPEngXControl的引用。之後,您可以使用ZKFPEngX類來執行您所需的任何操作。

using ZKFPEngXControl; 

然後

ZKFPEngX fp = new ZKFPEngX(); 
fp.SensorIndex = 0; 
fp.InitEngine(); // Do validation as well as it returns an integer (0 for success, else error code 1-3) 
//subscribe to event for getting when user places his/her finger 
fp.OnImageReceived += new IZKFPEngXEvents_OnImageReceivedEventHandler(fp_OnImageReceived); 

你可以寫你自己的方法fp_OnImageReceived來處理該事件。比如你可以用這種方法寫這個;

object imgdata = new object(); 
bool b = fp.GetFingerImage(ref imgdata); 

哪裏imgdata是bytes.You的陣列也可以使用其他方法ZKFPEngX,實現自己的目標。請記住在表單關閉時關閉引擎。

fp.EndEngine(); 
+0

我真的很高興能有你的考慮,你的答案是幫助和事情似乎在正確的軌道上。但是,請您幫助我更多地註冊使用此設備的用戶,然後授權用戶指紋登記指紋。 –

+0

必須隨SDK一起提供支持文檔。仔細閱讀,瞭解您可以使用的所有功能和方法。如果您無法找到PDF文檔文件,那麼您可以要求它。 – Khan

+0

是的,它有文檔文件,但對我沒有幫助。現在我想以字符串形式獲取圖像並將其存儲到數據庫,如'zkfpeng.GetTemplateAsStringEx(「10」)',但它返回null,之後我將比較兩個模板,一個來自數據庫,一個來自數據庫(zkfpEng.VerFingerFromStr(ref bTemp,sTemp,false,ref RegChanged)''現在我完全是在黑暗中塗鴉,所以請指導我,如果這對你是可行的。**感謝* *。 –

1

你可以存儲在OnEnroll(bool ActionResult, object ATemplate)事件。該當BeginEnroll()已執行的事件將被稱爲指紋。

//Add an event handler on OnEnroll Event 
ZKFPEngX x = new ZKFPEngX(); 
x.OnEnroll += X_OnEnroll; 


private void X_OnEnroll(bool ActionResult, object ATemplate) 
{ 
    if (ActionResult) 
    { 
     if (x.LastQuality >= 80) //to ensure the fingerprint quality 
     { 
      string regTemplate = x.GetTemplateAsStringEx("9"); 
      File.WriteAllText(Application.StartupPath + "\\fingerprint.txt", regTemplate); 
     } 
     else 
     { 
      //Quality is too low 
     } 
    } 
    else 
    { 
     //Register Failed 
    } 
} 

您可以嘗試驗證OnCapture(bool ActionResult, object ATemplate)事件下的指紋。當手指放在掃描儀上時會調用此事件。

上參考OnCapture事件添加事件處理程序:

x.OnCapture += X_OnCapture; 

驗證指紋時被稱爲事件(手指放在掃描儀上):

private void X_OnCapture(bool ActionResult, object ATemplate) 
{ 
    if (ActionResult) //if fingerprint is captured successfully 
    { 
     bool ARegFeatureChanged = true; 
     string regTemplate = File.ReadAllText(Application.StartupPath + "\\fingerprint.txt"); 
     string verTemplate = x.GetTemplateAsString(); 
     bool result = x.VerFingerFromStr(regTemplate , verTemplate, false, ARegFeatureChanged); 
     if (result) 
     { 
      //matched 
     } 
     else 
     { 
      //not matched 
     } 
    } 
    else 
    { 
     //failed to capture a valid fingerprint 
    } 
}