Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.19;
Скачать: CL | DM;

Вниз

Как достать значение из памяти д ругой проги?   Найти похожие ветки 

 
antonp ©   (2002-06-13 08:33) [0]

Нужно достать значение из памяти другой проги.
Пишем:
var Uo: Hwnd;
a,k: Cardinal;
p,i: Pointer;
n: Integer;
begin
p:=@n;
i:=Ptr($0134FD08);
Uo:=WindowFromPoint(Mouse.CursorPos); узнаем хендл окна
GetWindowThreadProcessID(Uo, a); узнаем хендл процесса
ReadProcessMemory(a, i, p, 8, k); считываем значение
Edit1.Text:=IntToStr(n);
Но ReadProcessMemory возвращает 0 т.е. не срабатывает. Почему?
GetLastError возвращает 6. Если я там посмотрел это значит что хендл процесса неправильный но я проверял по другой проге и ID процесса моя прога возвращает правильно.
Заранее благодарен.


 
Digitman ©   (2002-06-13 10:27) [1]

1.
>>GetWindowThreadProcessID(Uo, a); узнаем хендл процесса

И как же ты его здесь "узнаешь" ? Ты же результат ф-ции игнорируешь ! Прокомментируй.

2. Процесс перед использованием ф-ции ReadProcessMemory() д.б. открыт как минимум с правом PROCESS_VM_READ (см.вызов OpenProcess())


 
Alexander Vorobyov   (2002-06-13 10:29) [2]

А между строчками:
GetWindowThreadProcessID(Uo, a);
ReadProcessMemory(a, i, p, 8, k);

ты случайно не пропустил нечто вроде
hProc:=OpenProcess(PROCESS_ALL_ACCESS,False,a);
?



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

Текущий архив: 2002.08.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
14-60830
Dimich1978
2002-07-24 10:58
2002.08.19
Вопрос по прпограмме


1-60629
V.Turecky
2002-08-08 12:34
2002.08.19
Удаление всех файлов и каталогов в папке...


7-60863
Timon
2002-06-03 14:28
2002.08.19
Свободная память


1-60661
demona
2002-08-09 04:57
2002.08.19
есть ли компонент как ColorGrid, но с , хотя бы, 256 цветами?


4-60923
Tkach_
2002-06-12 14:06
2002.08.19
ПОТОКИ