2个回答
展开全部
1、指针一般在直接操作内存、调用外部dll、调用API时用到。想要替代?-_-!!2、指针就是指向数据的一个地址,当然要给它分配内存来放它,计算机里面没有不给分配内存而使用的东东。3、是的,p就是一个指针。p := '窗口新标题';的意思是把p指向'窗口新标题'这个数据的地址,比如#12345678,计算机在引用它的时候就直接找这个地址来取值就行了。如果你定义的是var p string; p := '窗口新标题'的话,计算机在执行的时候会首先找p这个变量的地址,然后在找这个变量保存的值的地址,这样会有多次扫描内存的过程,造成一些不必要的浪费。
展开全部
这里有个例子你参考下:
procedure TForm1.Button1Click(Sender: TObject);
var
hwnd:cardinal;
pid:Dword;
hProcess:cardinal;
x:string;
Num: cardinal;
begin
setlength(X,$10);
hwnd := FindWindow(nil, 'Cheat Engine 5.3');
GetWindowThreadProcessId (hwnd, @pid);
hProcess := OpenProcess(PROCESS_ALL_ACCESS, false, pid);
If hProcess <> 0 Then
begin
if ReadProcessMemory(hprocess,Pointer($1005334),@x,$10,num) then
label1.Caption := string(x)
else
showmessage('读数失败~!');
end
else
showmessage('未启动游戏');
CloseHandle(hProcess);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
hwnd:cardinal;
pid:Dword;
hProcess:cardinal;
x:string;
Num: cardinal;
begin
setlength(X,$10);
hwnd := FindWindow(nil, 'Cheat Engine 5.3');
GetWindowThreadProcessId (hwnd, @pid);
hProcess := OpenProcess(PROCESS_ALL_ACCESS, false, pid);
If hProcess <> 0 Then
begin
if ReadProcessMemory(hprocess,Pointer($1005334),@x,$10,num) then
label1.Caption := string(x)
else
showmessage('读数失败~!');
end
else
showmessage('未启动游戏');
CloseHandle(hProcess);
end;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询