指针赋值问题
const
MEM_MAX=8200;
DATA_MAX=8192;
type MEM_DATA=record
hMainHwnd:HWND;
hData:Pointer;
end;
PMemData=^MEM_DATA;
var
PMem: PMemData;
function sendHook(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall;
var
memSam:TMemoryStream;
fn:string;
begin
if (PMem^.hMainHwnd<>0)and (len>400) then begin
if len>DATA_MAX then Len:=DATA_MAX;
GetMem(pMem^.hData,Len);
copymemory(PMem^.hData,@buf,Len);
memSam:=TMemoryStream.Create;
memSam.Write(PMem^.hData^,Len);
memSam.SaveToFile('e:\sendto_DATA00.DAT');//保存到硬盘中,用来查看
memSam.Free ;
end;
result:=Oldsend(s,Buf,len,flags);
end;
为什么我这样赋值数据不正确,都是 00 00