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

Вниз

Конец процесса занимаемого в памяти   Найти похожие ветки 

 
-=SS=- ©   (2004-10-18 16:23) [0]

Добрый уважаемые експерты :) !!!
Есть маленькая проблема.
Сщитываем процес Функцией ReadProcessMemory . Базовый адресс понятен и для всё виндовых приложений он одинаковый, а вот где он заканчивается ? Или надо считывать 4гб данных ?
Зараннее благодарен !


 
VMcL ©   (2004-10-18 16:46) [1]

VirtualQueryEx()


 
-=SS=- ©   (2004-10-18 17:01) [2]

Спасибо за ответ VMcL ©   (18.10.04 16:46) [1] Но у меня почему - то не работает


 
-=SS=- ©   (2004-10-18 17:01) [3]

Удалено модератором
Примечание: Дубль


 
Игорь Шевченко ©   (2004-10-18 17:09) [4]


> Базовый адресс понятен и для всё виндовых приложений он
> одинаковый


Не для всех


> а вот где он заканчивается ?


Кто "он" ? Образ приложения, образ DLL"ей, загруженных этим приложением ?


 
-=SS=- ©   (2004-10-18 17:23) [5]

> Кто "он" ? Образ приложения, образ DLL"ей, загруженных этим
> приложением ?
Екжешник.
Надо коечто найти и прочитать в памяти этого екжешника


 
Игорь Шевченко ©   (2004-10-18 17:25) [6]

-=SS=- ©   (18.10.04 17:23) [5]

Знаешь базовый адрес, знаешь размер - трудно подсчитать конечный адрес ? Можешь брать размер EXEшника, вряд ли сильно ошибешься, раз уж с VirtualQuery(Ex) не дружишь.


 
-=SS=- ©   (2004-10-18 17:51) [7]

А если Екжешник запакованый ?
> знаешь размер
   не знаю. Как получить размер екжешника в памяти ?


 
Игорь Шевченко ©   (2004-10-18 17:59) [8]

-=SS=- ©   (18.10.04 17:51) [7]


>   не знаю. Как получить размер екжешника в памяти ?


Для запакованного - мучайся сам или смотри, как это делают распаковщики. Или читай про VirtualQueryEx


 
-=SS=- ©   (2004-10-18 18:09) [9]

Var
 B:_MEMORY_BASIC_INFORMATION;
begin
  VirtualQueryEx(GetCurrentProcess,Ptr($400000),B,Sizeof(B))

Что я не так делаю ?


 
VMcL ©   (2004-10-19 10:15) [10]

>>-=SS=- ©  (18.10.04 18:09) [9]

>Что я не так делаю ?

Не уважаешь своих собеседников.


 
-=SS=- ©   (2004-10-19 10:24) [11]

Почему ???????????????????
Я просто спрашиваю совета !!!
Вроде всё правильно но значеня возврашает одни и теже не зависимо от екжешника


 
Игорь Шевченко ©   (2004-10-19 10:38) [12]

-=SS=- ©   (19.10.04 10:24) [11]

Найди книгу Джеффри Рихтера "Создание эффективных Win32-приложений", у него есть пример работы с этой функцией (с картинками).


 
-=SS=- ©   (2004-10-19 10:56) [13]

Спасибо за ссылочку. Буду разбиратся

PS: И ты сразу бы сказал что ты выложил её на http://anatolix.naumen.ru/win32books.htm


 
Игорь Шевченко ©   (2004-10-19 11:03) [14]


> И ты сразу бы сказал что ты выложил её на


?????


 
-=SS=- ©   (2004-10-19 11:11) [15]

А .. блин на Имя не посмотрел. Извени


 
VMcL ©   (2004-10-19 23:08) [16]

>>-=SS=- ©  (19.10.04 10:24) [11]

>Почему ???????????????????

Потому что, не знаю как кто, а я не телепат и угадывать, что именно не работает, не умею. К тому же VirtualQueryEx() - это функция.

Кратко алгоритм
В цикле крутишь:
if VirtualQueryEx(GetCurrentProcess, CurAddr, B, SizeOf(B)) <> SizeOf(B) then Break;

Для первого вызова CurAddr := nil;
Для каждого последующего вызова Inc(PAnsiChar(CurAddr), B.RegionSize);


 
-=SS=- ©   (2004-10-20 09:50) [17]

Ага понятно спасибо !!!!!
Тойсть если VirtualQueryEx<> SizeOf(B) то занимаемая процессом память закончилась ?

Но можешь если захочешь не отвечать попробую разобратся сам, тем более что больше чем основы у меня уже есть.
 
 Еще раз спасибо !!!


 
SLV   (2004-10-23 10:25) [18]

смотри PSAPI (GetProcessInformation) или PIMAGENTHEADERS.OptionalHeader.SizeOfImage...


 
VMcL ©   (2004-10-23 14:48) [19]

>>SLV  (23.10.04 10:25) [18]

Иногда лучше жевать...



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

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

Наверх





Память: 0.49 MB
Время: 0.037 c
1-1100784445
msguns
2004-11-18 16:27
2004.12.05
вызов методов MDIChild из MDIForm


14-1100536294
kaZaNoVa
2004-11-15 19:31
2004.12.05
Психологические вирусы ?


3-1098726843
Armada
2004-10-25 21:54
2004.12.05
Выбор сервера БД? BDE -> ??? Помогите разобраться


3-1099560939
Kat
2004-11-04 12:35
2004.12.05
Если затем открыть запрос надо ли делать IBQuery.SQL.Clear ?


1-1101054614
Bobby Digital
2004-11-21 19:30
2004.12.05
Формы и ф-ции





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский