如果要修改磁盘中的程序,而这个程序正在运行中,可以用MoveFile把这个程序移到temp目录,然后在原位复制这个程序的副本,对副本进行修改。只要重新启动系统,或者注销再登陆(看程序由谁调用),或者在内存中杀掉原来进程再重新运行,都可以使使修改后的程序生效。1 O+ B q# }6 v" t
不过对于系统文件,由于2000/XP有系统文件保护,应该先把\WINNT\system32\dllcache中的同名文件也改了,否则会自动恢复。如果系统发现文被修改,有提示要求插入系统盘,直接跳过。
: r! @, M$ S" e+ {3 H1 s7 n( i
* v6 C8 v/ g! r如果仅仅想对内存中的进程进行修改,用WriteProcessMemory函数就可以了。7 G0 o G: U9 Z7 z
+ v$ C& u: {+ fxp下我没有试过。% P8 b; h+ c x9 ~( F
$ |# L9 L1 N) e) B
' l( e; ^. ~. {5 o- p9 h# _; t$ X4 r; W% F* E0 T
2 D* w: x, a+ H; o# T9 k
: |# f. e3 M7 y- ]1 Q
8 \6 c* G; \ a9 d; _7 @) Q[此贴子已经被作者于2003-5-15 11:57:51编辑过]
! d9 h: F5 l3 w, [0 Z! s& b |