Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.20;
Скачать: CL | DM;

Вниз

Сканирование памяти   Найти похожие ветки 

 
Илайдж   (2003-02-11 12:13) [0]

Есть некий процесс, известен его handle
Как просканировать память, выделенную данному процессу.

Это нужно для мониторинга неких изменившихся значений.

Буду рад любым идеям.


 
Слесарь Матерящийся ©   (2003-02-11 12:17) [1]

Знамо дело, HeapWalk() + HeapValidate()


 
Илайдж   (2003-02-11 12:30) [2]

А нельзя ли поподробней? Может есть какой-то пример?


 
Слесарь Матерящийся ©   (2003-02-11 12:46) [3]

типа так:

var
he : PROCESS_HEAP_ENTRY;
msg: AnsiString;
begin
he.lpData := nil;
{ Перечисляем блоки памяти, выделенные процессу }
while HeapWalk(GetProcessHeap(),@he) do
if HeapValidate(GetProcessHeap(),0,he.lpData) then
begin
{ Анализируем содержимое структуры }
msg := "blockptr = " + IntToHex(integer(he.lpData),8) + ", length = " + IntToStr(he.cbData);
ListBox1.Items.Add(msg);
end;
end;

что-то в таком духе...


 
BlackTiger   (2003-02-11 15:08) [4]

Может я ошибаюсь, но менеджер памяти рубанет тебя нафиг за попытку покопаться в "чужой" памяти. Если этот процесс сам не предоставляет память для других, то фиг ты туда залезешь.

Нужны всякие мутексы-шмутексы, файлы в памяти и тыды.



Страницы: 1 вся ветка

Текущий архив: 2003.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
4-63911
BlackSun
2003-01-07 11:28
2003.02.20
Не могу получить имя файла по хэндлу...


14-63775
Supreme
2003-02-01 21:31
2003.02.20
У кого есть компьютер?


14-63813
DelAlanPhi
2003-02-03 19:35
2003.02.20
Защита от копирования


1-63676
smok_er
2003-02-11 10:42
2003.02.20
Момент скроллинга с ListView


1-63606
Наташа
2003-02-11 12:17
2003.02.20
OnClick