auch auf die "Gefahr" hin, dass du es schon geschafft hast, habe ich mal deine funktion ein wenig abgeändert, so sollte sie zum Ändern des Edit-Feld funktionieren..Habe es allerdings nicht getestet:
Delphi-Quellcode:
function ChangeText(ParentWindow: Hwnd; EditCaption: string): Boolean;
var
SL: TStringList;
H : hWnd;
s : String;
begin
SL := TStringList.Create;
try
SL.AddObject(EditCaption, nil); // First item in list is text to find
EnumChildWindows(ParentWindow, @EnumChildProc, Longint(SL));
H := 0;
case SL.Count of
1: ShowMessage('Window text not found.');
2: H := hWnd(SL.Objects[1]);
else
ShowMessage('Ambiguous text detected.');
end;
finally
SL.Free;
end;
Result := H <> 0;
s := 'Edit-Caption';
if Result then
SendMessage(h, WM_SETTEXT, 0, LongInt(s));
end;
Aufruf
Delphi-Quellcode:
IF hWindow <> 0 THEN
ChangeText(hWindow,'Edit1');