1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
procedure ListerPseudos();
var
mThread, itmHold, psnHold: Integer;
cProcess, sThread, rBytes: Cardinal;
nbPseudo, comptA: Integer;
Pseudo: array[0..15] of Char;
begin
comptA := 0;
ZeroMemory(@Pseudo, SizeOf(Pseudo));
sThread := GetWindowThreadProcessId(HandleListAOL, cProcess);
mThread := OpenProcess(PROCESS_ALL_ACCESS, true, cProcess);
nbPseudo := SendMessage(HandleListAOL, LB_GETCOUNT, 0, 0) - 1;
while(true) do
begin
itmHold := SendMessage(HandleListAOL, LB_GETITEMDATA, comptA, 0);
Inc(comptA);
if (itmHold = -1) then
Break;
itmHold := itmHold + 28;
ReadProcessMemory(mThread, Pointer(itmHold), @Pseudo, 4, rBytes);
CopyMemory(@psnHold, @Pseudo, 4);
psnHold := psnHold + 6;
ReadProcessMemory(mThread, Pointer(psnHold), @Pseudo, 25, rBytes);
SendMessage(HandleList2, LB_ADDSTRING, 0, Integer(@Pseudo));
end;
Exit;
end; |
Partager