You can just use the win api to catch input from the controllers. I once managed 8 controller inputs. Or direct-input, but I never used this.
I think up to 16 controller can be connected.