Как да стигна до дръжка до прозорец?

стигна

прозорец приложението

стигна

прозорец

дръжка

прозорец приложението

прозорец приложението

прозорец приложението

стигна

TEdit издава Spy, но аз седя в MSVC.Net.

1: SendMessage (Edit1-> Handle, WM_GETTEXTLENGTH, 0,0); - и къде е текстът тук, който ще бъде вмъкнат в елемента?

дръжка

Какъв указател? Всички указатели "сочат" към паметта на процеса и имат различни приложения.
Шпионинът ще отпечата hwnd. Но не можете да разчитате на него, защото това е временно дръжка: ще бъде различно, когато стартирате приложението отново. Трябва да разчитате на ID (контролен ID на първата страница от описанието на прозореца, който Spy издава).

НО: за да намерите контрола по ID, първо трябва да намерите родителя му, т.е. главен прозорец на приложението.

За това, както вече писах, можете да използвате FindWindow, ако основният прозорец на приложението има уникално име и/или клас на прозорец. Ако не, можете да разглеждате процеси и да търсите по име EXE. Ако това е и вашето приложение, можете да вградите в него някакъв вид идентификация, която да отговори на някакво искане за излъчване.
След това, когато главният прозорец бъде намерен, неговите потомци могат да бъдат намерени с помощта на GetDlgItem ().
И му изпращайте съобщения: SendMessage (hwnd, message.);

Съобщението WM_GETTEXTLENGTH, както подсказва името, изисква дължината на текста и задава текста на съобщението WM_SETTEXT.
Въпреки това няма да можете да инсталирате текст по този начин в чуждото приложение.