ReadProcessMemory

Язык C#: программирование на C#, портирование кода C# на VB и VB на C#.

Модератор: Ramzes

AyaAya
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.01.2005 (Сб) 18:54

ReadProcessMemory

Сообщение AyaAya » 16.04.2005 (Сб) 14:21

Делаю так:
[syntax="С#"]
...
[DllImport("kernel32")]
static extern bool ReadProcessMemory( IntPtr hProcess, IntPtr lpBaseAddress,IntPtr lpBuffer, int dwSize, IntPtr lpNumberOfBytesRead );
[DllImport("kernel32")]
static extern IntPtr OpenProcess(uint dwDesiredAccess, bool bInheritHandle,int dwProcessId);
...
Process[] pArray = Process.GetProcessesByName("нужный процесс");
m_hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, (int)pArray[0].Id); //тут всё ок, открывает
...
do
{
zd = ReadProcessMemory(processs,adr,rn,1,IntPtr.Zero );
}
while (zd==false);
...
[/syntax]

Проблема - из цикла не выходит, т.е. zd=false всегда.
з.ы. Цикл для того чтоб процесс смог подгрузить дллки по нужному адресу.
з.з.ы. Та же функция с тем же адресом на вб 6.0 работает!!!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2005 (Сб) 14:52

Ээээ... а разве не m_hProcess у тебя хэндл? А чё тогда processs передаёшь?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

AyaAya
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.01.2005 (Сб) 18:54

Сообщение AyaAya » 16.04.2005 (Сб) 17:26

Ну там вместо многоточия есть строка
processs=m_hProcess;


Вернуться в C#

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList