ScanFinger v1.07
Welcome to ScanFinger, A freeware application which demonstrates capturing a
raw fingerprint scan using the Windows Biometric API.
The application demonstrates how to use the "WinBioCaptureSampleWithCallback"
API to capture a scan while keeping the UI responsive. Once a scan is captured,
it will immediately initiate another scan so you can get a feeling for how
finger pressure affects the capture.
When a fingerprint is captured the UI should look like the following:

For the hackers among you, please note that the image above does not contain
my actual fingerprint. Instead the screen capture above has been doctored to
show a "Google Image Search" fingerprint instead. You can zoom in / out, best fit the
image to the window and copy the image to the clipboard for inspection with a
image processing program etc. Also included in the download is the source code
and a VC 2017 project to build the binary.
History
v1.07 (8 May 2022)
- Updated copyright details.
- Updated the code to use C++ uniform initialization for all variable
declarations.
v1.06 (11 April 2020)
- Updated copyright details.
- Fixed more Clang-Tidy static code analysis warnings in the code.
v1.05 (29 December 2019)
- Fixed various Clang-Tidy static code analysis warnings in the code.
v1.04 (17 November 2019)
- Updated initialization of various structs to use C++ 11 list
initialization
v1.03 (1 June 2019)
- Updated copyright details.
- Updated the code to clean compile on VC 2019
V1.02 (16 December 2018)
- Updated copyright details.
- Fixed a number of C++ core guidelines compiler warnings. These changes
mean that the code will now only compile on VC 2017 or later.
V1.01 (27 March 2017)
- Updated the code to internally use GDI+ for loading and displaying the
scan. This change provides better looking scaled image drawing
characteristics compared to ATL::CImage::Draw which boils down to a
StretchBlt call.
V1.0 (13 March 2017)
Usage
- Just run the ScanFinger.exe. To capture a scan the application needs to
run elevated. The application is manifested to request elevation when
started. It uses a standard windows SDI interface with a vertical splitter
window. The menu options should
be self explanatory.
- The prebuilt Unicode release binary in the ReleaseU directory in the
download is dynamically linked to the VC 2017 MFC DLL. If you do not have
this installed then you can download it from
https://visualstudio.microsoft.com/downloads/.
- The application requires at least Windows 7 to run correctly as the
Biometric API was introduced with this version of Windows.
- You will need a fingerprint scanner installed and registered with
Windows. On my main dev stand-alone computer I've had great success using a
SecuGen Hamster 20 Fingerprint Scanner.
- You should then be able to simply scan your finger and the left hand
side of the main UI will provide detailed information about the captured
scan while the right hand side will show the captured image of the scan. You
can repeatedly capture more scans while the current scan is displayed.
- Please note that the image obtained is just the raw capture of the fingerprint
and no provision is made to show the fingerprint minutiae. AFAIK the Windows
Biometric API does not provide an API to access this information. Please
correct me if I am wrong on this<g>.
Copyright
- You are allowed to include the source code in any product (commercial,
shareware, freeware or otherwise) when your product is released in binary
form.
- You are allowed to modify the source code in any way you want except you
cannot modify the copyright details at the top of each module.
- If you want to distribute source code with your application, then you
are only allowed to distribute versions released by the author. This is to
maintain a single distribution point for the source code.
Contacting the Author
PJ Naughter
Email: pjna@naughter.com
Web: http://www.naughter.com
8 May 2022