如果要修改磁盘中的程序,而这个程序正在运行中,可以用MoveFile把这个程序移到temp目录,然后在原位复制这个程序的副本,对副本进行修改。只要重新启动系统,或者注销再登陆(看程序由谁调用),或者在内存中杀掉原来进程再重新运行,都可以使使修改后的程序生效。7 e2 _7 }5 x& Z7 A) M
不过对于系统文件,由于2000/XP有系统文件保护,应该先把\WINNT\system32\dllcache中的同名文件也改了,否则会自动恢复。如果系统发现文被修改,有提示要求插入系统盘,直接跳过。, d" g+ G+ C6 F- j& q) p' }
3 B6 S( P, \* p! X" P如果仅仅想对内存中的进程进行修改,用WriteProcessMemory函数就可以了。
, t' O$ |9 F- e! m9 g) I
# j# Q; d$ W% Kxp下我没有试过。 |' U1 T ~& f4 _% D- P/ a# E
7 p' @6 o# q, A, }# H T% P3 m, \* q( d
1 C( G) Q' x5 D1 U Y4 ^7 t+ v+ r" ]* J# K, v
% y! B# S1 f' I8 ^8 G. {8 g
' q3 K" v% h% U- {" Z, n5 W" M% s: U( o- R3 @4 n
[此贴子已经被作者于2003-5-15 11:57:51编辑过] 8 b+ B" l/ K8 ~# E H
|