На ассемблере набросал, но думаю, что будет понятно.
Код:
.486 ; create 32 bit code
.model flat, stdcall ; 32 bit memory model
option casemap :none ; case sensitive
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\macros\macros.asm
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
.code
start:
invoke FindWindow,chr$("Notepad"),chr$("Untitled - Notepad")
invoke FindWindowEx,eax,0,chr$("Edit"),0 ;нашли дочернее окно - текстовое поле
mov edi,eax
invoke SendMessage,edi,WM_SETTEXT,0,chr$("hello") ;можно просто задать для него текст
invoke SendMessage,edi,EM_SETSEL,-2,-2 ;переместим каретку в конец
invoke SendMessage,edi,WM_CHAR,10,1 ;можно посимвольно слать
invoke SendMessage,edi,WM_CHAR,'l',1
invoke SendMessage,edi,WM_CHAR,'o',1
invoke SendMessage,edi,WM_CHAR,'l',1
invoke SendMessage,edi,EM_SETSEL,-2,-2 ;переместим каретку в конец
invoke SendMessage,edi,EM_REPLACESEL,0,chr$(13,10,"more text") ;можно дополнить текст
invoke ExitProcess,0
end start