Uses the print screen as input isnt good, because the hight performance required, and the oclusion effects...
The best input for bots is the received networks packets. And the output, in my opinion, is uses the GUI of the game.
This hibrid system is much more robust than full GUI bots because requires less process, havent oclusion problems...
And it is more robust than full network bots, because avoid the server validation... al sent packets will be sent by the conquer process...
So... I propose make a framework to listen the receive packets from the server, and transform its to a hight level language...