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

Вниз

Работа с памятю   Найти похожие ветки 

 
Artur   (2005-02-10 15:33) [0]

Hello~! Как мне сохранить область памяти, занимаемой моей программой, файл? Как узнать начальный адресс памяти, конечный (прграммы), и есть ли функцыи для чтения памяти? И можно ли проделать ето с иной программой висящей в памяти?


 
Artur   (2005-02-10 15:54) [1]

>> сохранить область памяти, занимаемой моей программой, файл?
Извените, здесь злосная опечатка :( Ето должно быть так:

сохранить область памяти, занимаемой моей программой, в файл?


 
Digitman ©   (2005-02-10 16:13) [2]


> злосная


КАКОЙ памяти, "злосный" ты наш ?)

память памяти - рознь ..

или для тебя память есть ничто иное как хреновина, вставляемая в хреновину на "материнской плате" ?

это тебе не ДОС !)


 
Artur   (2005-02-10 16:58) [3]

>>Digitman ©   (10.02.05 16:13) [2]
#>для тебя память есть ничто иное как хреновина, вставляемая в хреновину на "материнской плате"
>>если ето было бы так, то я бы собирал компы и никогда не посищал етот форум, но да, многое мне не ведомо.

#>память памяти - рознь ..
>>Обьясни, о чём ты?


 
Digitman ©   (2005-02-10 17:05) [4]


> Artur   (10.02.05 16:58) [3]
не ведомо.


раз "не ведомо", то и разговор сведется к тоиу же


 
Artur   (2005-02-10 17:12) [5]

Digitman ©   (10.02.05 17:05) [4]
Тогда зачем етот форум? Или ты считаешь, что родился умным?


 
Anatoly Podgoretsky ©   (2005-02-10 17:24) [6]

Artur   (10.02.05 17:12) [5]
Он возможно, а ты, ну ладно это далекое прошлое, но кто мешает сейчас задать понятный, конкретный вопрос.

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

Как узнать начальный адресс памяти, с дельфи идет инструментарий для получения карты памяти, используй его

И можно ли проделать ето с иной программой висящей в памяти? аналогично пункту 1 особенно оговорки насчет пустит.


 
Mac ©   (2005-02-10 17:40) [7]

DWORD GetCurrentProcessId(VOID) - Выдаст ID процеса.

HANDLE OpenProcess(
   DWORD dwDesiredAccess, // access flag
   BOOL bInheritHandle, // handle inheritance flag
   DWORD dwProcessId  // process identifier
); - выдаст хендл процеса.

BOOL ReadProcessMemory(
   HANDLE hProcess, // handle of the process whose memory is read  
   LPCVOID lpBaseAddress, // address to start reading
   LPVOID lpBuffer, // address of buffer to place read data
   DWORD nSize, // number of bytes to read
   LPDWORD lpNumberOfBytesRead  // address of number of bytes read
); - Читаеш память.

Как узнать нужный адрес и скоко читать пока не знаю.


 
beatles_bntu ©   (2005-02-10 19:41) [8]

Если вдруг те это надо под дос могу готовую прогу скинуть(исходник), а под винду, ну те выше написали там вроде всё ясно


 
Fay ©   (2005-02-10 19:52) [9]

2 Artur   (10.02.05 17:12) [5]
Это оскорбление?
Или ты сам не уверен, что родился умным? Это означало бы, что ты допускаешь, что родился дураком. Странная позиция.


 
Kerk ©   (2005-02-10 19:55) [10]

Artur   (10.02.05 17:12) [5]
Тогда зачем етот форум?


в любом случае не для дублирования учебников и справки.


 
-=SS=- ©   (2005-02-10 20:22) [11]

Вообще начальный адресс памяти для всех процессов одинаковый -- $400000 помоему или что то в этом роде


 
Anton_K ©   (2005-02-10 20:25) [12]

Вообще начальный адресс памяти для всех процессов одинаковый -- $400000 помоему или что то в этом роде

Не всегда, но чаще всего. Функция GetModuleHandle возвращает адрес, по которому загружена прога.


 
Fay ©   (2005-02-10 20:37) [13]

Я бы даже сказал EnumProcessModules/GetModuleInformation, но
Windows 95/98/Me: Unsupported.


 
Eraser ©   (2005-02-10 21:04) [14]

-=SS=- ©
Вообще начальный адресс памяти для всех процессов одинаковый -- $400000 помоему или что то в этом роде


Во-первых,это виртуальный адрес программы пользовательского режима.

Во-вторых, тебя не смущает цифра $400000, а заканчивается программа может на  $800000. И в какой-такой файл ты собрался её сохранять ;-))


 
Eraser ©   (2005-02-10 21:05) [15]

Почитайте где-нибудь "Как устроена ОС Windows NT".


 
Игорь Шевченко ©   (2005-02-11 01:25) [16]

-=SS=- ©   (10.02.05 20:22) [11]


> Вообще начальный адресс памяти для всех процессов одинаковый -->  $400000


Нет. Начальный адрес памяти равен нулю.


 
Kerk ©   (2005-02-11 07:56) [17]

Anton_K ©   (10.02.05 20:25) [12]
Функция GetModuleHandle возвращает адрес, по которому загружена прога.


давай уж будем точны до конца и скажем, что она возвращает адрес, по которому загружен модуль :)



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

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

Наверх




Память: 0.51 MB
Время: 0.047 c
14-1109713249
Димон
2005-03-02 00:40
2005.03.20
У меня глюки или активность на форуме правда упала?


14-1109507481
SMT
2005-02-27 15:31
2005.03.20
Перевод звукового формата DVD в формат MPEG3


14-1109518495
ve7al
2005-02-27 18:34
2005.03.20
xачу начат програмирыват,счиво начинат??


11-1092545574
TRUF
2004-08-15 08:52
2005.03.20
TKOLCPUID


4-1107249743
Bez
2005-02-01 12:22
2005.03.20
Отрисовывание компонентов в стиле ХР