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.
The USB storage
device 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 (not using WMI or other 3d party components)
# 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
# USB device serial numbers are optional and it depends on the hardware manufacturer if they are implemented or not.
# Does not require administrator rights on Win XP/2003/VISTA/7 (works even with a guest account type)