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

Вниз

Как получить картинку из чужой памяти?   Найти похожие ветки 

 
electhp   (2004-01-08 08:22) [0]

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

function GetMemoryTotalPhys: DWord;
var
memStatus: TMemoryStatus;
begin
memStatus.dwLength := sizeOf (memStatus);
GlobalMemoryStatus(memStatus);
Result := memStatus.dwTotalPhys;
end;


Затем я пытаюсь искать указатель, инкрименцируя его значение начиная от нуля и сравнивая со своей картинкой, но при попытке читать чужую память получаю ошибку:

procedure TForm1.Button1Click(Sender: TObject);
var
Bm: TBitmap;
pBm: ^TBitmap;
Pos, All: longInt;
begin
All:= GetMemoryTotalPhys;
Edit1.Text:= IntToStr(All);
bm:= TBitmap.Create;
bm:= Image1.Picture.Bitmap;
pBm:= 0;
// pBm:= @Bm;
for Pos := 1 to All Do
Begin
Inc(pBm);
Edit2.Text:= IntToStr(Pos);
Edit2.Repaint;
if pBm^ = Bm Then
Begin // Ошибку получаю тут, при сравнении
Image2.Picture.Bitmap:= pBm^;
Break;
End;
End;
end;


Это вообще говоря все к чему я пришел, еще хотелось бы узнать как получить адреса памяти выделенной конкретной программе, что бы сократить время поиска.


 
Unax ©   (2004-01-08 10:35) [1]

Ты не можешь просто так читать память чужого процесса, да и размер совсем совсем не тот ты определяешь. Этот код полный бред.


 
YuRock ©   (2004-01-08 10:36) [2]

Советую вкорне изменить способ получения этой картинки, т.к. само по себе выражение "получить TBitmap из памяти чужого процессора" (т.е. чужой объект) - это по меньшей мере сложнейшая задача.
Которая если и выполнима, то только ради примера для учебников :))


 
YuRock ©   (2004-01-08 10:37) [3]

... В [2] заменить слово "процессора" на "процесса", конечно.



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
3-43398
Причастившийся
2004-02-13 16:40
2004.03.14
O firebird


1-43536
WELLiON
2004-02-25 09:50
2004.03.14
project в Delphi


3-43336
Julya
2004-02-17 09:38
2004.03.14
Как отсортировать дерево в оракле??Не нарушая структуры...


3-43329
BlackTiger
2004-02-17 16:48
2004.03.14
Как сделать аналог


3-43387
ceval
2004-02-14 12:26
2004.03.14
программа с использыванием dbf файлов