That's not easy - not easy at all. There are a couple of problems: most scanners are configured to act as a keyboard, so the barcode data goes to the active form as if it was keyboard data, and that is very hard to divert. It may be possible to configure the scanner to send a prefix and suffix code which identifies the data as a barcode but to do that you need to talk to teh manufacturer as there is no standard way to do that which all makers use.
Once you have done that, you need to do the hard bit: global hooking. And you can't do that in .NET, so you have to interface with a native application (or process) to do that - which can leave your system unstable in my experience if anything fails. But there are a couple of good artciles on it here:
Processing Global Mouse and Keyboard Hooks in C#[
^]
Global System Hooks in .NET[
^]
Good luck - this is not a trivial task in any way, shape or form!