所以我收到此错误消息,有人可以帮助我,已经尝试了很多谷歌答案:p没有用。
ctrl + shift +空格结果在ReadProcessMemory上
**Parameters**
hProcess System.Cardinal
IpBaseAddress System.Pointer
IpBuffer System.Pointer
nSize System.Cardinal
IpNumberOfBytesRead System.Cardinal
**Returns**
System.Boolean
Ptr功能:
Ptr Function: function Ptr(Value: Integer): Pointer;
变量
var
Form1: TForm1;
PH : THandle;
PID, ThID: DWORD;
H : THandle;
function Ptr(Value: Integer): Pointer;
功能
function LerInt(Address: Integer): Integer;
var
value:integer;
ler:dword;
begin
H := FindWindow(nil, 'Something Here :)');
ThID := GetWindowThreadProcessID(H, @PID);
PH := OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
ReadProcessMemory(PH, Ptr(Address), @value, 4, ler); // THIS LINE
Result:=value;
end;
答案 0 :(得分:3)
变量ler
是错误的类型。它必须是SIZE_T
。
其他评论:
Pointer(address)
进行投射即可。请注意,如果您通过64位编译器传递此代码,则会遇到指针截断问题。