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

Вниз

Подскажите, какие значения должны быть присвоены переменным в   Найти похожие ветки 

 
nuflin   (2004-03-26 10:04) [0]

Подскажите, какие значения должны быть присвоены переменным в функции ReadProcessMemory

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
  );


 
Игорь Шевченко ©   (2004-03-26 10:18) [1]

Пример использования:

var
 AProcessHandle: THandle;
 AProcessID: Cardinal;
 ATargetProcessParametersPointer: Pointer;
 AReturned: Cardinal;
 DesiredAddress: Pointer;
..............
   AProcessHandle := OpenProcess(PROCESS_VM_READ, false, AProcessID);
   if AProcessHandle = 0 then
     RaiseLastWin32Error();
   try
     { Получение адреса структуры параметров процесса }
     if not ReadProcessMemory(AProcessHandle,
            DesiredAddress,
                            @ATargetProcessParametersPointer, SizeOf(Ptr32),
                            AReturned) then
       RaiseLastWin32Error();


 
nuflin   (2004-03-27 09:28) [2]

AProcessHandle всегда будет равен 0 даже если менять значение переменной AProcessID


 
Kerk ©   (2004-03-27 10:33) [3]

нет. код покажи


 
nuflin   (2004-03-27 10:58) [4]

например
AProcessHandle := OpenProcess(PROCESS_VM_READ, false, 1);


 
Digitman ©   (2004-03-27 12:54) [5]


> nuflin


что за "единица" фигурирует 3-м параметром вызова OpenProcess() ? от балды проставлена она ?

3-й параметр д.б. уникальным идентификатором существующего процесса, а не каким-то непопонятно откуда взятым числом


 
nuflin   (2004-03-27 13:57) [6]

> Digitman
третий праметр имеет тип cardinal(dword,longword) - 0..4294967295


 
Digitman ©   (2004-03-27 14:09) [7]

значение уник.идентификатора процесса как раз и есть значение кардинального типа (DWORD)

вопрос в том, идентификатор какого конкретно процесса ты пытаешься передать этим параметром .. в системе не существуют процессы с уник.идентификатором равным 1

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


 
nuflin   (2004-03-27 14:46) [8]

А как получить идентификаторы всех процессов?


 
Digitman ©   (2004-03-27 14:55) [9]

используй модули tlhelp32.pas (win9x) и psapi.pas (NT/W2k/XP)



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

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

Наверх





Память: 0.46 MB
Время: 0.055 c
3-1082642735
RomCom
2004-04-22 18:05
2004.05.16
Поля с данными Null в TQuery+TUpdateSQL


8-1077019218
Qwer
2004-02-17 15:00
2004.05.16
Слои


14-1082571257
ИМХО
2004-04-21 22:14
2004.05.16
Свежий взгляд на сайт Мастера Delphi


7-1080727290
-+= Evgeney =+-
2004-03-31 14:01
2004.05.16
Извращения с сотовым телефоном


11-1069790916
=Sniper=
2003-11-25 23:08
2004.05.16
RichEdit1.WordWrap? Это глюк?





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