Barcode Reader for .NET is highly recommended.
BizCode Barcode Reader for .NET is a high-quality barcode recognition component DLL for barcode scanning & reading in Microsoft .NET development environments, such as Visual Studio 2005, 2008 and 2010.
Here is the sample code of C#:
using BusinessRefinery.Barcodes.Reader;
// Read a Code 39 barcodes image in C# class
string[] barcodes = BarCodeReader.scanBarCode
(bmp,BusinessRefinery.Barcodes.Reader.BarCodeType.CODE39);
// Read Data Matrix barcodes in C# class
string[] barcodes = BarCodeReader.scanBarCode
(bmp,BusinessRefinery.Barcodes.Reader.BarCodeType.DATAMATRIX);