We searched a lot and ended up using leadtools barcode module, which helped us to read different barcode types. They support many programming languages (including both .NET and C/C++).
As a start, you can refer to the following page:
Programming Barcode