Your pseudocode it a tad too simple. Once you determine the current foreground application, you'll need to find out which of it's windows or controls has the focus and obtain a handle to it. Then you'll need to determine if the control is of a type that will accept keystrokes.
Detecting that it's an editable text control isn't enough as it may be set readonly. Or it could be programmed to accept only numbers. Or a limited number of keystrokes, and the user may have already type something. If the user has highlighted the existing contents, your insertion will overwrite that. Same is true if the keyboard is in overwrite state.
Finally, how will your application decide when to send the keystrokes?
As by implication, it will not be in the foreground, it will not be in a position to accept user initiation of the insertion; and if you do it at some predetermined time or after some number of elapsed seconds, how will you know that the right application is in the foreground?
What you are asking to do is possible with Win32::GuiTest, but it is definitely not trivial. Depending upon what you are actually trying to achieve, it may well be easier to use an existing solution.
In reply to Re: (Windows) insert text at cursor in non-owned window
by BrowserUk
in thread (Windows) insert text at cursor in non-owned window
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |