问个问题,烦了一早上了,大虾们帮我看看!!unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    Panel1: TPanel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
hw:HWND;
Pid:dword;
h:THandle;
tt:Cardinal;
temp1,temp2:dword;
const
Reffset:DWORD=$004621C4;
Resource:DWORD=$21742174;
begin
hw:=FindWindow(nil,'test1');
if hw=0 then
      panel1.Caption:='未能发现test1窗口'
else
   begin
GetWindowThreadProcessId(hw,@Pid);
h:=OpenProcess(PROCESS_ALL_ACCESS,false,Pid);
      if h=0 then
         exit;
      panel1.Caption:='权限成功打开';      ReadProcessMemory(h,pointer(Reffset),@temp1,4,tt);
      panel1.Caption:=panel1.Caption+inttohex(temp1,4);      WriteProcessMemory(h,pointer(Reffset),@Resource,sizeof(Resource),tt);      ReadProcessMemory(h,pointer(Reffset),@temp2,4,tt);
      panel1.Caption:=panel1.Caption+'第二次取值为:'+inttohex(temp2,4);
      CloseHandle(h);
   end;end;end.问题:就是修改不了
      WriteProcessMemory(h,pointer(Reffset),@Resource,sizeof(Resource),tt);的值
     如果说哪里错误嘛,readprocessMemory读取那地址的值又正确(我用WINHEX检查的)其中test1这窗口也是我自己做来测试的,我用WINHEX修改就行,用我自己做的(上面的程序)就修改不了!!
----------------------------------------------