Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ReadProcessMemory читает всегда с одного адреса... где-то ошибка?


Chorniy ©   (2008-04-10 09:11:00) 

Какое бы значение я не задавал переменной 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;


Chorniy   (2008-04-10 10:11:00) [1]


> ну так приведи тип DWord к типу Pointer ! В чем проблема-то


ааа))) вот где собака порылась... я неправильно представил себе механизм работы функции....ок ща проверю. Спасибки )


Сергей М.   (2008-04-10 10:03:00) [2]


> грит что Pointer нужен


ну так приведи тип DWord к типу Pointer ! В чем проблема-то ?


Chorniy   (2008-04-10 09:53:00) [3]


> @BlockAddr  - адрес переменной


ReadProcessMemory(HProcess,BlockAddr,@Block[0],BlockSize,Bytes);

дак вот так не работает.. грит что Pointer нужен.

+ описание функции:
pBaseAddress - Points to the base addressin the specified process to be read.

указатель на адрес вроде как.


MBo   (2008-04-10 09:28:00) [4]

@BlockAddr  - адрес переменной


Наверх

Титульная страница Поиск, карта сайта Написать письмо