Witam.
Jakiś czas temu zacząłem się uczyć delphi. Jednak po nie długim
czasie postanowiłem przerzucić się na C++.
Otóż mam taki problem:
Gdzieś w internecie znalazłem funkcję do delphi odczytującą dane z uruchomionych
procesów, lecz nie udało mi się znaleźć tej funkcji dla C++. Może ktoś z Was (kto
zna się na tym lepiej niż ja) mógłby w jakiś sposób przerobić tą funkcję aby działała
pod C++. :)
Funkcje:
function ReadMemInteger(Address: Cardinal): Cardinal; //Read adress:value
var
ProcId: Cardinal;
tProc: THandle;
NBR: Cardinal;
value:integer;
begin
GetWindowThreadProcessId(FindWindow('Notepad',Nil), @ProcId);
tProc:= OpenProcess(PROCESS_ALL_ACCESS, False, ProcId);
ReadProcessMemory(tProc, Ptr(Address), @value, 4, NBR);
CloseHandle(tProc);
Result:=value;
end;
function MemReadString(Address: Integer): String;
var
NB : LongWord;
Temp : ARRAY [1..255] OF Byte;
I : Byte;
IDProcess, proc_ID : Cardinal;
begin
GetWindowThreadProcessID(FindWindow('Notepad', nil), @proc_ID);
IDProcess := OpenProcess(PROCESS_ALL_ACCESS, false, proc_ID);
Result := '';
ReadProcessMemory(IDProcess, Ptr(Address), @Temp[1], 255, NB);
for I := 1 to 255 do
begin
if ((Temp[I] = 0) or (Temp[I] = $0F)) then
Break;
Result := Result + Chr(Temp[I]);
end;
end;
Zastosowanie:
label1.Caption := MemReadString($0078E414);
Proszę o pomoc i pozdrawiam,
Sleqqus. :)