Форум: "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.035 c