Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.043 c
14-1109910389
MadAngel
2005-03-04 07:26
2005.03.20
Цифровик --> Веб камера


3-1108850653
beda
2005-02-20 01:04
2005.03.20
MS Access, Delphi, ADO - Unspecified error


1-1110045348
ser35
2005-03-05 20:55
2005.03.20
округление десятичных знаков


6-1105613406
AlexG
2005-01-13 13:50
2005.03.20
Кто-нибудь использует WinInet?


1-1110143396
LogOnn
2005-03-07 00:09
2005.03.20
Delay();





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский