Odczyt treści etykiety z cudzej aplikacji

0

Witam.

Mam pytanie.
W jaki sposób mógłbym coś takiego przeczytać w delphi?
title
Bardzo zależy mi na kodzie, który byłby wstanie przeczytać tego zawartość (w sytuacji ze screena tą liczbą było by 22881).
Na tej zasadzie coś:
spinedit1.Value := (zawartość tego adresu).

Robiłem coś takiego w gierce, która miała adresy stałe. Było to banalne.
Wyglądało to tak:
zapisanie adresu w constach i kod na tej zasadzie:

function MemReadInteger(Address: Cardinal): Cardinal;       //Read adress:value
var
ProcId: Cardinal;
tProc: THandle;
NBR: Size_T;
value:integer;
begin
    GetWindowThreadProcessId(FindWindow('Nazwa',Nil), @ProcId);
    tProc:= OpenProcess(PROCESS_ALL_ACCESS, False, ProcId);
    ReadProcessMemory(tProc, Ptr(Address), @value, 4, NBR);
    CloseHandle(tProc);
    Result:=value;
end;

a następnie jakiś button i spinedit1.value := memreadinteger(adres); i tyle.

Teraz niestety jest ciężej, gdyż adresy są zmienne jak już powiedziałem. To, do czego zapodałem screena to pointer, którego nie wiem jak użyć.

Dzięki.

0

W jaki sposób mi to ma pomóc? Ja wiem jak przechwycić okienko xd
Np:

procedure Hook;
begin
  H := FindWindow('Client', nil);
  if (H <> 0) then
    begin
      ThID := GetWindowThreadProcessId(H, @PID);
      PH := OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
      FlashWindow(H, true)
    end
  else
    begin
      ShowMessage('Open your Client!');
      Application.Terminate;
    end;
end; 

Nie wiem tylko jak czytać te pointery xd tzn adres+offsety itp.

0

W taki, że gdybyś przeczytał ten wątek to być wiedział, że etykiety nie posiadają swojego uchwytu i za pomocą WinAPI nie pobierzesz z nich tekstu w standardowy sposób; Natomiast sklejanie kodu z internetowych gotowców w niczym nie pomoże, skoro nie rozumiesz jak wygląda apka od spodu.

0

Podejżewam, że to trudne nie jest, więc za gotowy kod zapłacę 10zł na piwko (paypal).

0

Gnojek

1 użytkowników online, w tym zalogowanych: 0, gości: 1