![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ReadProcessMemory, Float. [D7, WinXP]
Cj © (2007-06-21 03:59:00)Помогите найти ошибку в моей процедуре, вот она:
function GetFloatValue(PID,Addres,ByteType:cardinal):extended;
var
PH:cardinal;
rw:cardinal;
val4b:single;
val6b:real;
val8b:double;
val10b:extended;
begin
PH:=openprocess(PROCESS_ALL_ACCESS,false,PID);
case bytetype of
4:begin
readprocessmemory(PH,ptr(Addres),@val4b,4,rw);
result:=val4b;
end;
6:begin
readprocessmemory(PH,ptr(Addres),@val6b,6,rw);
result:=val6b;
end;
8:begin
readprocessmemory(PH,ptr(Addres),@val8b,8,rw);
result:=val8b;
end;
10:begin
readprocessmemory(PH,ptr(Addres),@val10b,10,rw);
result:=val10b;
end;
else result:=0;
end;
closehandle(PH);
end;
Почему она правильно читает 4-байтные с точкой(через ArtMoney смотрел), а остальные не хочет? Помогите разобраться.
Dimaxx (2007-06-21 10:11:00) [1]Попробуй sizeof(), а не конкретное число байт для чтения...
Сергей М. (2007-06-21 08:10:00) [2]
> остальные не хочет
Неужто прямо так и говорит - "не хочу" ?!