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

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

Работа с памятю [D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]


Artur ©   (2005-02-10 15:33:00) 

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


Kerk   (2005-02-11 07:56:00) [1]

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


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


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

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


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


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


Eraser   (2005-02-10 21:05:00) [3]

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


Eraser   (2005-02-10 21:04:00) [4]

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


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

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


Fay   (2005-02-10 20:37:00) [5]

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


Anton_K   (2005-02-10 20:25:00) [6]

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

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


-=SS=-   (2005-02-10 20:22:00) [7]

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


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

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


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


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

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


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

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


Mac   (2005-02-10 17:40:00) [11]

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
); - Читаеш память.

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


Anatoly Podgoretsky   (2005-02-10 17:24:00) [12]

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

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

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

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


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

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


Digitman   (2005-02-10 17:05:00) [14]


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


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


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

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

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


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


> злосная


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

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

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

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


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

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

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


Наверх

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