Moin,
danke.
Du hast recht, ich meinte natürlich EnumChildWindowsProc
Delphi-Quellcode:
function EnumChildWindowsProc(const AhWindow : DWORD;const AlParam : DWORD) : Longbool; stdcall;
var
dwTextLength : DWORD;
pBuf : PChar;
sText : string;
begin
Result := true;
// SetLastError(2);
//TODO: Ggf. noch mit GetClassName noch auf Klasse Button prüfen.
dwTextLength := SendMessage(AhWindow,WM_GETTEXTLENGTH,0,0);
Inc(dwTextLength);
pBuf := AllocMem(dwTextLength);
try
SendMessage(AhWindow,WM_GETTEXT,dwTextLength,LParam(pBuf));
sText := Trim(pBuf);
finally
FreeMem(pBuf,dwTextLength);
end;
Result := not (AnsiCompareText(sText,Trim(sButtonText)) = 0);
if not Result then begin
hButtonToClick := AhWindow;
// SetLastError(5);
end;
end;
Die SetLastError-Zeilen dienten nur zu Testzwecken um festzustellen, wie weit die Routine abgearbeitet wird. Sie haben keine Änderung des Verhaltens mit sich gebracht.