| 发表于:2008-01-18 10:27:44 楼主 |
这个函数: function getprocessidd(processname: string): tprocessentry32; var fsnapshothandle: thandle; fprocessentry32: tprocessentry32; ret: boolean; tmpprocessname: string; begin fsnapshothandle := createtoolhelp32snapshot(th32cs_snapprocess, 0); fprocessentry32.dwsize := sizeof(fprocessentry32); ret := process32first(fsnapshothandle, fprocessentry32); while ret do begin tmpprocessname := extractfilename(fprocessentry32.szexefile); if tmpprocessname = processname then begin result := fprocessentry32; break; end; ret := process32next(fsnapshothandle, fprocessentry32); end; closehandle(fsnapshothandle); end; 这个是运行代码: var fprocessentry32: tprocessentry32; processid: integer; processhandle: thandle; nsize: dword; lpnumberofbytesread: dword; szbuf:array[0..255] of char; const ammz = $04402160; begin nsize:=255; fprocessentry32 := getprocessidd(ddzprocessname); if fprocessentry32.th32processid=0 then exit; processid := fprocessentry32.th32processid; processhandle := openprocess(process_vm_read, false, processid); if processhandle <> 0 then begin readprocessmemory(processhandle, pointer(ammz),@szbuf,nsize,lpnumberofbytesread); label7.caption := szbuf; end; freemem(@szbuf,nsize); closehandle(processhandle); end; 请高手们帮我看看,我的代码哪里出错了,我一运行后,系统就死机!在线等。。。 先谢谢各位大虾! |
|
|
|
|