Q&A

  • FindWindowex사용시 class가 같은 것이 여러개 있을때?
다른 어플리케이션의 Edit콘트롤에 문자열을 자동 대입하고자

FindWindow와 FindWindowEx와

Sendmessage함수를 썼습니다

그런데 Edit콘트롤이 하나인 경우는 콘트롤의 class가

하나이므로 찾는데 문제가 없으나

Edit콘트롤이 2개이상인 경우

FindWindowex에서 구별할 방법이 없어

값을 대입할수가 없네요

각각 Edit의 Text는 모두 ''이구요

Class는 비주얼멘더로 찾아도 똑같이 나옵니다

같은 Class명의 콘트롤이 여러개 있더라도

각각을 구별하여 값을 넣을수 있는 방법은 없을까요

코딩은 다음과 같이 했습니다

h := FindWindow(nil,'Project1');

h := findwindowex(h,0,'TEdit',nil);

if h <> 0 then

begin

StrMsg:='I Love Delphi';

ClipBoard.AsText := StrMsg;

if SendMessage(h, WM_PASTE, 0, 0) = 0 then

for i :=1 to Length(StrMsg) do

SendMessage(h, WM_CHAR, ord(StrMsg[i]), 0);

end;

end;

현재 Edit콘트롤이 한개인 경우는 문제없이 잘되는 코딩입니다

고수의 도움 부탁드립니다



0  COMMENTS