USBPhysic is a stand-alone component ( 32/64-bit Windows dynamic-link library - DLL ) that can be used to extract the physical vendor information from almost any USB (Universal Serial Bus) storage device. With USBPhysic you can get the manufacturer serial number, manufacturer name and so on, of the external portable Hard Drives, flash/pen/key drive or any other kind of USB Storage Device.
As you know some of the physical information, actually only the serial number, is a unique number/string per device and this offers you a chance to programmatically identify the actual device.
Let's say you want a way to lock your software to a USB storage device (a small flash pen), or distribute your software only with a USB stick, a fast and reliable way to do that is by generating a serial number based on that USB device serial (the hardware serial number that can not be changed, even after a full format). The physical serial number is not the same as the volume serial number, it will not change after a format, and there is no way to change it unless you change the actual device.
# USBPhysic is a stand-alone component, does not require any other files to work.
# It uses the drivers on Win32/64 platforms so there are no special library/driver requirements.
# It can be used in any programming/scripting language that can make WINAPI calls like: Delphi, C++Builder, C#, Visual C++, Visual Basic, Visual Basic.NET, VBA, PowerBuilder, Visual Foxpro, Clarion and so on.
# Does not require administrator rights anymore on Win XP/2003/VISTA/7 (works even with a guest account type