0
I’m getting the list of resource classes from another application but I can’t find Button, edits or Abels classes and I see that the application has these features.
This is my code:
procedure TForm1.Button1Click(Sender: TObject);
var
hWindow : THandle;
hChild : THandle;
aTemp : array[0..5000] of Char;
sClassName : String;
sCaption : String;
Result: string;
begin
Result := '';
sCaption := 'Nome do Programa';
hWindow := FindWindow(Nil,PChar(sCaption));
if hWindow = 0 then
begin
ShowMessage('Could NOT find the other program');
exit;
end;
hChild := GetWindow(hWindow, GW_HWNDFIRST);
while hChild <> 0 do
Begin
if GetClassName(hChild, aTemp, SizeOf(aTemp)) > 0 then
begin
sClassName := StrPAS(aTemp);
Memo1.Lines.Add(sClassName);
if sClassName = 'Label' then
begin
SendMessage(hChild,WM_GETTEXT,SizeOf(aTemp),Integer(@aTemp));
Result := StrPAS(aTemp);
Memo1.Lines.Add(' '+Result);
end;
end;
hChild := GetWindow(hChild, GW_HWNDNEXT);
end;
end;
So I get something like :
tooltips_class32
ForegroundStaging
IME
ForegroundStaging
tooltips_class32
I can’t find anything about this on the Internet, like I do to get resources like:
lblCalculado
edtValor
btnComprar
btnVender
or
I have tested with GW_CHILD, GW_OWNER, GW_HWNDPRIOR/NEXT/FIRST/LAST and I cannot.
Thank you
Search by Findcomponent, with it you can have a list of all the components of the form and manipulate it as needed.
– Jefferson Rudolf