protected override void OnLoad(EventArgs e) { _identity = null; comboUnitId.Items.Clear(); comboUnitId.ResetText(); var units = WinBio.EnumBiometricUnits(WinBioBiometricType.Fingerprint); Log(string.Format("Found {0} units", units.Length)); if (units.Length == 0) { return; } for (int i = 0; i < units.Length; i++) { Log(string.Format("- Unit id: {0}", units[i].UnitId)); comboUnitId.Items.Add(units[i].UnitId); string strDeviceInstanceId = units[i].DeviceInstanceId; Log(string.Format(" Unit id: {0}", strDeviceInstanceId)); string strFirmwareVersion = getFirmwareVersion(strDeviceInstanceId); if (strFirmwareVersion.Equals("")) { Log(string.Format(" Firmware: {0}", units[i].FirmwareVersion.ToString())); } else { Log(string.Format(" Firmware: {0}", strFirmwareVersion)); } int lastInvSlash = units[i].DeviceInstanceId.LastIndexOf("\\"); Log(string.Format(" Key code: {0}", strDeviceInstanceId.Substring(lastInvSlash + 1, strDeviceInstanceId.Length - lastInvSlash - 1))); } _unitId = units[0].UnitId; setComboxSelectedIndex(comboUnitId, 0); // use 1st one by default. Log(string.Format("Using unit id: {0}", _unitId)); _session = WinBio.OpenSession(WinBioBiometricType.Fingerprint, WinBioPoolType.System, WinBioSessionFlag.Default, null, 0); Log("Session opened: " + _session.Value); comboBoxFp.Items.Clear(); comboBoxFp.ResetText(); String[] myArr = new String[] { "Unknown",//0 "RhThumb", "RhIndexFinger", "RhMiddleFinger", "RhRingFinger", "RhLittleFinger", "LhThumb", "LhIndexFinger", "LhMiddleFinger", "LhRingFinger", "LhLittleFinger" }; //10 comboBoxFp.Items.AddRange(myArr); setComboxSelectedIndex(comboBoxFp, 1); }
protected override void OnLoad(EventArgs e) { var units = WinBio.EnumBiometricUnits(WinBioBiometricType.Fingerprint); Log(string.Format("Found {0} units", units.Length)); // Check if we have a connected fingerprint sensor if (units.Length == 0) { MessageBox.Show("Error: Fingerprint sensor not found! Exiting...", "Error", MessageBoxButtons.OK); Application.Exit(); return; } var unit = units[0]; _unitId = unit.UnitId; Log(string.Format("Using unit id: {0}", _unitId)); Log(string.Format("Device instance id: {0}", unit.DeviceInstanceId)); Log(string.Format("Using database: {0}", DatabaseId)); // Check if we need to create a new database if (WinBioConfiguration.DatabaseExists(DatabaseId) == false) { InitialStart(); } else { OpenBiometricSession(); } }
/// <summary> /// Checks to see if there is an available fingerprint sensor /// If no devices are available, we set the status to NoDevice /// </summary> public void CheckDevices() { try { Debug("Searching for fingerprint sensors..."); var units = WinBio.EnumBiometricUnits(WinBioBiometricType.Fingerprint); Debug(string.Format("Found {0} sensors", units.Length)); // Check if we have a connected fingerprint sensor if (units.Length == 0) { throw new Exception("No units"); } else { UpdateStatus(Statuses.NoSession); } } catch (Exception e) { Debug("Could not find fingerprint sensor"); Debug(e.Message); UpdateStatus(Statuses.NoDevice); } }
private void OpenBiometricSession() { var units = WinBio.EnumBiometricUnits(WinBioBiometricType.Fingerprint); _unitId = units.FirstOrDefault().UnitId; _session = WinBio.OpenSession(WinBioBiometricType.Fingerprint, WinBioPoolType.Private, WinBioSessionFlag.Basic, new[] { _unitId }, Shared.DatabaseId); WriteLog("Session opened: " + _session.Value); }
protected override void OnLoad(EventArgs e) { var units = WinBio.EnumBiometricUnits(WinBioBiometricType.Fingerprint); Log(string.Format("Found {0} units", units.Length)); if (units.Length == 0) { return; } var unit = units[0]; _unitId = unit.UnitId; Log(string.Format("Using unit id: {0}", _unitId)); Log(string.Format("Device instance id: {0}", unit.DeviceInstanceId)); Log(string.Format("Using database: {0}", DatabaseId)); _session = WinBio.OpenSession(WinBioBiometricType.Fingerprint, WinBioPoolType.Private, WinBioSessionFlag.Basic, new[] { _unitId }, DatabaseId); //_session = WinBio.OpenSession(WinBioBiometricType.Fingerprint); Log("Session opened: " + _session.Value); }
private void RefreshReaderUnits() { cbReaderUnit.Items.Clear(); var units = WinBio.EnumBiometricUnits(WinBioBiometricType.Fingerprint); // Check if we have a connected fingerprint sensor if (units.Length == 0) { return; } foreach (var reader in units) { cbReaderUnit.Items.Add(new FingerprintUnit(reader.UnitId, reader.Description)); } cbReaderUnit.SelectedIndex = 0; }
public static void EnumUnitIds() { var units = WinBio.EnumBiometricUnits(WinBioBiometricType.Fingerprint); Console.WriteLine("Biometric units found: {0}", units.Length); for (var i = 0; i < units.Length; i++) { Console.WriteLine(units[i].UnitId); Console.WriteLine(units[i].PoolType); Console.WriteLine(units[i].BiometricFactor); Console.WriteLine(units[i].SensorSubType); Console.WriteLine(units[i].Capabilities); Console.WriteLine(units[i].DeviceInstanceId); Console.WriteLine(units[i].Description); Console.WriteLine(units[i].Manufacturer); Console.WriteLine(units[i].Model); Console.WriteLine(units[i].SerialNumber); Console.WriteLine(units[i].FirmwareVersion); } }
public static void Main() { try { var units = WinBio.EnumBiometricUnits(WinBioBiometricType.Fingerprint); Console.WriteLine("Found {0} units", units.Length); if (units.Length == 0) { return; } var unit = units[0]; var unitId = unit.UnitId; Console.WriteLine("Using unit id: {0}", unitId); Console.WriteLine("Device instance id: {0}", unit.DeviceInstanceId); var databases = WinBio.EnumDatabases(WinBioBiometricType.Fingerprint); Console.WriteLine("Found {0} databases", databases.Length); for (var i = 0; i < databases.Length; i++) { Console.WriteLine("DatabaseId {0}: {1}", i, databases[i].DatabaseId); } if (WinBioConfiguration.DatabaseExists(DatabaseId)) { Console.WriteLine("Removing database: {0}", DatabaseId); WinBioConfiguration.RemoveDatabase(DatabaseId); } Console.WriteLine("Creating database: {0}", DatabaseId); WinBioConfiguration.AddDatabase(DatabaseId, unitId); Console.WriteLine("Adding sensor to the pool: {0}", unitId); WinBioConfiguration.AddUnit(DatabaseId, unitId); Console.WriteLine("Opening biometric session"); var session = WinBio.OpenSession(WinBioBiometricType.Fingerprint, WinBioPoolType.Private, WinBioSessionFlag.Basic, new[] { unitId }, DatabaseId); try { Console.WriteLine("Type sub type and press enter:"); WinBioBiometricSubType subType; if (!Enum.TryParse(Console.ReadLine(), true, out subType)) { Console.WriteLine("Invalid sub type"); return; } var identity = AddEnrollment(session, unitId, subType); Console.WriteLine("Identity: {0}", identity); Console.WriteLine(); var enrollments = WinBio.EnumEnrollments(session, unitId, identity); Console.WriteLine("Found {0} enrollments for that identity:", enrollments.Length); foreach (var enrollment in enrollments) { Console.WriteLine(enrollment); } Console.WriteLine(); Console.WriteLine("Verify identity with any finger:"); WinBioRejectDetail rejectDetail; WinBio.Verify(session, identity, WinBioBiometricSubType.Any, out unitId, out rejectDetail); Console.WriteLine("Success"); } finally { Console.WriteLine("Closing biometric session"); WinBio.CloseSession(session); } } catch (Exception ex) { Console.WriteLine("Exception: " + ex.GetType().Name); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } }