I am currently posed with an interesting problem at work and wondering if anyone has any feedback/experience they might be able to lend to help guide me in the right direction. I am looking to script GUI functionality for an undocumented application. Thanks to NDAs that is about as far as i can describe what i am actually trying to do. However, i have an example that i think is somewhat comparable. Lets pretend i am trying to script the windows game 'Minesweeper'. What i need to be able to do is control mouse clicks and key board input such that this 'game' can be automated to a win/loss solution. This means i need to have someway to read in whats VISIBLE (say i automate a click on a square and the number 2 appears, i need to have a way to recognize the 2), and then apply logic to it. This poses a few problems: 1) Automating mouse and keyboard functionality (i am looking at http://www.autohotkey.com/ for a possible solution there) 2) Reading in dynamic undocumented images from an application (no clue where to go from here) 3) Finding a solution that will tie in with a higher level programming language (like c++, java, etc) so that i can apply logic to 'potentially' random events and output. Anyone have any ideas, or better yet experience, with this kind of problem? If so, can you point me in the right direction? Open source is preferred, but not mandatory. TIA for the help!