You can basically read anything from controls, and trigger callbacks at will, as if you had actually clicked a button or written some text. This means that you can write "expect-like" software -- just start up the program, and have another program read input from it's text fields and issue commands to it.
I have actually done a lot of this, putting old sourceless win32 and win16 programs run in the background on virtual machines on the server and building new web-based interfaces on top of them.
Actually it ranges from simple event spoofing (user clicked here, user dragged there) to injecting a DLL + spawning a thread under your control.
Event spoofing is pretty limited. While having a thread under your control gives you full power as you have full access to the process' memory and can call any function you want.
That's what I meant to use it for but the API is used at the root of applications to draw windows, handle mouse click events, accept keyboard input, create icons in the system tray and anything else that would involve Windows UI.
In the same way applications use the win API to create their UI, others could use it to manipulate and control the interface of other programs. It's powerful.
Tuna-Fish|13 years ago
I have actually done a lot of this, putting old sourceless win32 and win16 programs run in the background on virtual machines on the server and building new web-based interfaces on top of them.
kybernetyk|13 years ago
Event spoofing is pretty limited. While having a thread under your control gives you full power as you have full access to the process' memory and can call any function you want.
swatkat|13 years ago
http://www.autoitscript.com/site/autoit/
mkopinsky|13 years ago
[0]: http://www.bostonsoftwaresystems.com/
atesti|13 years ago
Edootjuh|13 years ago
MichaelApproved|13 years ago
In the same way applications use the win API to create their UI, others could use it to manipulate and control the interface of other programs. It's powerful.