Форум: "Начинающим";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];
ВнизReadProcessMemory читает всегда с одного адреса... где-то ошибка? Найти похожие ветки
← →
Chorniy (2008-04-10 09:11) [0]Какое бы значение я не задавал переменной BlockAddr, массив Data у одного процесса всегда одинаковый... то есть чтение происходит удачно, но выглядит так, будто процедура игнорирует значение BlockAddr. Подскажите что не так.. вот код
var
Bytes, BlockSize, BlockAddr: dword;
Data: array of byte;
HProcess: THandle;
begin
HProcess := OpenProcess(PROCESS_VM_READ,False,prID);
if HProcess = 0 then
begin
ShowMessage("Нельзя прочитать");
Exit;
end;
BlockAddr := 0; // пишу любое число... результат неизменный
BlockSize := 1;
ReadProcessMemory(HProcess,@BlockAddr,@Block[0],BlockSize,Bytes);
if Bytes <> BlockSize then
ShowMessage("считано неверное кол-во байтов = " + IntToStr(Bytes));
end;
← →
MBo © (2008-04-10 09:28) [1]@BlockAddr - адрес переменной
← →
Chorniy (2008-04-10 09:53) [2]
> @BlockAddr - адрес переменнойReadProcessMemory(HProcess,BlockAddr,@Block[0],BlockSize,Bytes);
дак вот так не работает.. грит что Pointer нужен.
+ описание функции:
pBaseAddress - Points to the base address in the specified process to be read.
указатель на адрес вроде как.
← →
Сергей М. © (2008-04-10 10:03) [3]
> грит что Pointer нужен
ну так приведи тип DWord к типу Pointer ! В чем проблема-то ?
← →
Chorniy (2008-04-10 10:11) [4]
> ну так приведи тип DWord к типу Pointer ! В чем проблема-то
ааа))) вот где собака порылась... я неправильно представил себе механизм работы функции....ок ща проверю. Спасибки )
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c