Using the according Enum.. function you can actually get a list of all the actual monitors and their location on the virtual desktop. And there are functions to for instance get the correct HMONITOR from a mouse click screen position. So it should be fairly easy to get something working that way, if you don't want to create a catch all, for every possible screen resolution/configuration/physical/orientation out there.