为什么我总是读取不了指定内存的数据?哪里错了?
请帮我看看。我已经没有分了,所以只能给这么点分了。unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
Timer1: TTimer;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
h,proid,nok:hwnd;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
c1,addr:integer;
cnt:cardinal;
oldprotect:dword;
begin
addr:=$14c728;
h:=findwindow(nil,'NS-SHAFT');
if h=0 then
showmessage('游戏没打开')
else
begin
GetWindowThreadProcessId(h,@proid); // 从窗口句柄得到进程ID
nOK:=OpenProcess(PROCESS_ALL_ACCESS or PROCESS_TERMINATE or PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_VM_WRITE,false,proid); //打开进程并得到读与权限
if nok=0 then
showmessage('失败')
else
begin
readProcessMemory(proid,pointer(addr),@c1,4,cnt);
showmessage(inttostr(cnt));//这里总是显示0,没有成功读到数据。
edit1.Text:=inttostr(c1);
end;
end;end;end.
请帮我看看。我已经没有分了,所以只能给这么点分了。unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
Timer1: TTimer;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
h,proid,nok:hwnd;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
c1,addr:integer;
cnt:cardinal;
oldprotect:dword;
begin
addr:=$14c728;
h:=findwindow(nil,'NS-SHAFT');
if h=0 then
showmessage('游戏没打开')
else
begin
GetWindowThreadProcessId(h,@proid); // 从窗口句柄得到进程ID
nOK:=OpenProcess(PROCESS_ALL_ACCESS or PROCESS_TERMINATE or PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_VM_WRITE,false,proid); //打开进程并得到读与权限
if nok=0 then
showmessage('失败')
else
begin
readProcessMemory(proid,pointer(addr),@c1,4,cnt);
showmessage(inttostr(cnt));//这里总是显示0,没有成功读到数据。
edit1.Text:=inttostr(c1);
end;
end;end;end.
解决方案 »
- perform(wm_undo,0,0)为什么执行不了
- 北京Delphi程序员还有吗?
- 怎样把TDBGird控件显示的列表打印出来?
- 支持三J当大版 嘿嘿 是该换换界了.....(两年了放点分不容易哎~~)
- 如何在报表中显示总页数
- 请问应该如何把在frontpage上做的网页上传?
- ★★乱散100分啦!★★喜欢用yahoo通(yahoo messanger)的朋友近来报道啊!不管是初学者还是大虾都来吧!
- 两台电脑上读取同一个U盘上同一扇区的数据会不一样,好奇怪??
- 使用ado存取数据时,在保存时老是在字段后面的剩余部分添加空格!应如何解决?
- 请问panel2.caption:=format('origin:(%d,%d)',[x,y])如何解释?
- 请问如何获得listbox当前选中项的内容
- 急救!几个数据集的问题
第一个参数应该是hProcess,也就是进程句柄,而不是进程id