Einzelnen Beitrag anzeigen

michback

Registriert seit: 23. Nov 2007
35 Beiträge
 
#1

Daten eines Fremden Fensters auslesen

  Alt 3. Jun 2009, 16:20
Ich habe eine internetseit erstellt auf der die Punkt von Spielen angezeigt werden. Jetzt scheidere ich aber am Auslesen der Daten aus einer Serveranwendung. Es handelt sich hierbei um Civ 4. Das Fenster (siehe Bild) enthält alle Daten welche ich auslesen möchte.

Wieviele Spieler
Die Namen
Der Ping
Und wer dran ist

Ich habe hier im Forum folgenden Quelltext gefunden.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  hMain : DWORD;
  hSub : DWORD;
  iLen : integer;
  pText : PChar;

begin
  hMain := FindWindow(NIL,chr(039)+'meineeiner'+chr(039)+' successfully saved'+chr(034));

  if hMain = 0 then begin
    ShowMessage('Meldung nicht gefunden'#13#10+
                 SysErrorMessage(GetLastError));
    Exit;
  end;
  hSub := FindWindowEx(hMain,0,'EDIT',nil);
  if hMain = 0 then begin
    ShowMessage('Inhalt nicht gefunden'#13#10+
                 SysErrorMessage(GetLastError));
    Exit;
  end;
  iLen := SendMessage(hSub,WM_GETTEXTLENGTH,0,0)+1;
  if iLen = 0 then begin
    ShowMessage('Kein Inhalt');
    Exit;
  end;
  pText := AllocMem(iLen);
  try
    if SendMessage(hSub,WM_GETTEXT,wParam(iLen),lParam(pText)) = 0 then begin
      ShowMessage('0 Zeichen kopiert');
    end else begin
      ShowMessage(pText);
    end;
  finally
    FreeMem(pText,iLen);
  end;
end;
Nachdem ichin diese Beitrag hingewiesen Wurde das ich für mein anliegen einen neuen Beitrag auf machen solle tue ich dies hiermit.

Die Procedure gibt nur die Meldung aus "0 Zeichen" gefunden. Ich denke es liegt daran das es keine Texte in memoboxen sind.
Die Chat dialoge kann ich auslesen.


Wie könnte ich denoch an die Daten kommen?


hSub := FindWindowEx(hMain,0,'EDIT',nil);
Ich weis das ich das EDIT durch z.B. Button ersetzen muss aber ich weis nicht was für eine Form die Liste hat. Und wo ich eine übersicht finde wsa man alles eingeben kann.

PS: Ich habe bereits schon versuch die RAM Adressen mit einem Hexeditor auszulesen konnte jedoch nur die Punktzahl finden alle anderen Daten sind nicht zu finden.
Miniaturansicht angehängter Grafiken
fenster_197.jpg  
  Mit Zitat antworten Zitat