Главная страница
    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.042 c
3-1082093164
Серг
2004-04-16 09:26
2004.05.16
номер строки в Dbgride


7-1080525247
Зафигаренная шашка
2004-03-29 05:54
2004.05.16
Скины поверх винды


6-1080227029
Pr0t0n
2004-03-25 18:03
2004.05.16
SMS b Delphi Часть Вторая.


11-1069525315
DDA2
2003-11-22 21:21
2004.05.16
Установить дату папке(KOL)


1-1083643955
Sirus
2004-05-04 08:12
2004.05.16
Trace into и Source file not found: somefile.pas....





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