如果要修改磁盘中的程序,而这个程序正在运行中,可以用MoveFile把这个程序移到temp目录,然后在原位复制这个程序的副本,对副本进行修改。只要重新启动系统,或者注销再登陆(看程序由谁调用),或者在内存中杀掉原来进程再重新运行,都可以使使修改后的程序生效。
. g5 ^' J+ h+ o: r7 b: N不过对于系统文件,由于2000/XP有系统文件保护,应该先把\WINNT\system32\dllcache中的同名文件也改了,否则会自动恢复。如果系统发现文被修改,有提示要求插入系统盘,直接跳过。, H# ^7 H( }* X6 `" G2 L
8 P d; K- [0 H如果仅仅想对内存中的进程进行修改,用WriteProcessMemory函数就可以了。! V/ v" z. j1 e- S, i
& `1 j: B7 ]; r1 v% {6 Oxp下我没有试过。1 x5 o6 Q0 K( R) C
9 D; m' S( K7 @) v3 p, N7 P* T
& q1 S( |- c, n6 n3 P% K
, j, A$ z F# q0 L; P7 e$ ]" O- S, X/ k0 ]( I
/ p2 P5 v& _( }9 F- i8 o6 E
( R" @. c* {! s, G, o. P9 q
[此贴子已经被作者于2003-5-15 11:57:51编辑过]
) p0 Y- r( B: M& F; B+ E! F |