These are USB barcode readers that are configured to act like keyboards. No software are needed to install for these devices. Windows has that "Generic drivers" built in.So I can plug different kinds of these barcode readers , at the same Pc and they use the same driver built in on windows.
So these barcode readers are like keyboards with only 1 difference : They can "type" much more chars at a small time compared with typing on keyboard.
I hope that someone can help me working on this idea.
Then those programs must be communicating direct to the device(s) via the USB interface. Alternatively, as Dave K already suggested, the device sends extra data to identify itself. Google (as usual) is the place to start your research.
There are multiple types of barcode readers. What you're talking about is a "keyboard wedge" type that, as you already know, act like a keyboard.
But, usually they are programmable to prepend and/or append character data to the barcode it reads. This allows applications to add an "attention sequence" to the data it's "keying" into your application. Typically, your application looks for this data coming from the keyboard and can use that data to know that the next characters are part of the barcode until it sees the appended sequence.
This makes it possible to use the data WITHOUT having to know which "keyboard" the data came from. THIS IS WHY YOU READ THE DOCUMENTATION ON THE DEVICE YOU'RE USING!
There are also other interface types, such as Ethernet-based devices, that you can code against. But, again, this is where you read the documentation on your device.