Einzelnen Beitrag anzeigen

simjoh

Registriert seit: 13. Nov 2006
Ort: Asslar
99 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Speicher auslesen mit Delphi

  Alt 20. Mär 2007, 15:38
Hallo,

danke für deine Antwort. Es gibt bereits ein Programm, was das, was ich programmieren möchte kann: FreePHG (http://www.jukofyork.com/freephg.htm). Kann man kostenlos runterladen. Ist aber in C++ geschrieben und ich kann kein C++. Möglich ist das Ganze also. Wenn ich den Code einigermaßen richtig verstehe, wird auch nur das Pokerfenster gesucht (FindWindowByTitle), die ProzessID gesucht und mit ReadProcessMemory der Speicher ausgelesen. Ich weiß aber nicht, wie der weiterverarbeitet wird, dachte eigentlich, dass hier schon ein oder mehrere Strings stehen.

function FindWindowByTitle(WindowTitle: string): Hwnd;
var
NextHandle: Hwnd;
NextTitle: array[0..255] of char;
begin
// Get the first window
NextHandle := GetWindow(Application.Handle, GW_HWNDFIRST);
while NextHandle > 0 do
begin
// retrieve its text
GetWindowText(NextHandle, NextTitle, 255);
if Pos(WindowTitle, StrPas(NextTitle)) <> 0 then
begin
Result := NextHandle;
Exit;
end
else
// Get the next window
NextHandle := GetWindow(NextHandle, GW_HWNDNEXT);
end;
Result := 0;
end;

procedure TForm2.Button7Click(Sender: TObject);
var
WindowName : integer;
ProcessId : integer;
ThreadId : integer;
buf : PChar;
HandleWindow : Integer;
write : cardinal;
const
v1 = $90;
begin
WindowName := FindWindowByTitle('Table');{FindWindow(nil,WindowT itle);}
If WindowName = 0 then MessageDlg('...erst spiel starten...dann programm starten =)', mbwarning,[mbOK],0);
ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
GetMem(buf,1);
buf^ := Chr(v1);
FreeMem(buf);
closehandle(HandleWindow);
end;

Wie wird buf^ weiterverarbeitet??

Grüße
  Mit Zitat antworten Zitat