如果要修改磁盘中的程序,而这个程序正在运行中,可以用MoveFile把这个程序移到temp目录,然后在原位复制这个程序的副本,对副本进行修改。只要重新启动系统,或者注销再登陆(看程序由谁调用),或者在内存中杀掉原来进程再重新运行,都可以使使修改后的程序生效。4 B( u8 T4 k4 G6 q1 c/ K$ O
不过对于系统文件,由于2000/XP有系统文件保护,应该先把\WINNT\system32\dllcache中的同名文件也改了,否则会自动恢复。如果系统发现文被修改,有提示要求插入系统盘,直接跳过。* g, t% p- i: o% n% N
# [% e2 s- g2 a& P( J+ Q# a3 g如果仅仅想对内存中的进程进行修改,用WriteProcessMemory函数就可以了。
9 J+ N! H2 E* ?& u$ x4 b
; R' R' }9 j2 A) ~+ [6 h3 Rxp下我没有试过。
: h5 q1 b. [; {+ h* I7 u, X/ P- {1 w0 j/ p" O( X9 v; ^* A
5 \% M' h& H+ W0 m3 r( i
% T. g8 u3 E- [2 B5 X% R$ R
% ]) R! l2 R1 ^5 Q
& q' {+ J2 d0 o
, h( b! X% ^$ S' G( k[此贴子已经被作者于2003-5-15 11:57:51编辑过]
# H$ o5 o0 R) d$ X; d3 X% _ |