I've written some programs for my company in the past. These were mainly for the monitoring and control of custom PCBoards on a RS485 network. These programs never let the operator out of the LV environment.
I have a personel project where I'd like to create an on screen keyboard (this is basically done) that remains in the foreground and inputs keystrokes to any open windows app. as it is typed. I'm not sure how to get the info the the active cursor location.