Forum > General
TStartupInfo How to write data through pointers and addresses?
anna:
code:
http://pastebin.com/JRxDtnct
(*
{How to write next by pointers:}
pStartupInfo.cb:=$44;
pStartupInfo.lpReserved:=nil;
pStartupInfo.lpDesktop:=nil;
pStartupInfo.lpTitle:=nil;
pStartupInfo.dwFlags:=$81;
pStartupInfo.wShowWindow:=$0A;
pStartupInfo.cbReserved2:=$00;
{I've tried :
attempt 1:
@pStartupInfo^:=dwaM4;
@(pStartupInfo+$2c)^:=dwaN3;
attempt 2:
p:=@pStartupInfo;
p^:=dwaM4;
(p+$2c)^:=dwaN3;
But some convertion errors appears ... :(
}
*)
eny:
No idea what you want to do.
Maybe something like: pStartupInfo^.cb:=$44;
Blaazen:
Yes, we don't know if your pointers are typed or untyped.
Anyway, this works.
--- Code: ---type TMyRec = record
a: LongInt;
b: LongInt;
end;
PTMyRec = ^TMyRec;
var PMyPoint: Pointer;
PMyRec: PTMyRec;
.........
PTMyRec(PMyPoint+8)^.a:=20;
PTMyRec(PMyRec+16)^.b:=80;
PMyRec^.b:=50;
--- End code ---
marcov:
Use move()
something like
--- Code: --- move (constant1, startup,sizeof(constant1));
move (constant2, (pbyte(@startup)+sizeof(constant1))^);
--- End code ---
or
--- Code: --- pdword(@startup)[0]:=0;
pdword(@startup)[1]:=1;
pdword(@startup)[2]:=2;
etc
--- End code ---
anna:
--- Quote from: eny on September 10, 2011, 11:45:57 am ---No idea what you want to do.
Maybe something like: pStartupInfo^.cb:=$44;
--- End quote ---
I want write pStartupInfo directly in memory. I don't want to use record fields like .cb .lpReserved so on.
pStartupInfo-record's fields are represented in memory like this:
http://img62.imageshack.us/img62/5518/95140904.png
I want find addresses of these records and write 7 dwords:
http://img339.imageshack.us/img339/8468/67015126.png
Navigation
[0] Message Index
[#] Next page