Here's a totally retro question for the group. A client has a series of set-up screens that have to be run each time their installed control software package is started. No source available and I'm guessing the software is from the mid-80's. They'd like to automate the start-up since a lot of different people of varying skill levels use it and, if they choose wrong, it's tough to get things straightened out. I vaguely remember using a click / pick logger back on Win3.1 to do a similar automation task, but I can't even remember the right keywords at this point. Furthermore I suspect Win7, which they use, is a bit less open about leaving raw screen coordinates lying around in registers that a logging program can read (our malware friends have guaranteed that). One plus is the computers are totally isolated from the web, so I can dismantle the security if need be. Ring any bells?
Google up about mouse hooks to answer your question, but you must know that Windows XP SP2 and up implement UI Automation (google this up too). You should use UI Automation to automate the different screens. You'll probably have to couple UI Automation with a CBT hook to get notifications of new windows being created as you progress with the screens.