如果要修改磁盘中的程序,而这个程序正在运行中,可以用MoveFile把这个程序移到temp目录,然后在原位复制这个程序的副本,对副本进行修改。只要重新启动系统,或者注销再登陆(看程序由谁调用),或者在内存中杀掉原来进程再重新运行,都可以使使修改后的程序生效。
o ^* V$ O) ~不过对于系统文件,由于2000/XP有系统文件保护,应该先把\WINNT\system32\dllcache中的同名文件也改了,否则会自动恢复。如果系统发现文被修改,有提示要求插入系统盘,直接跳过。
* S3 V5 P& R+ `/ X( R
2 |) D9 L1 n: S如果仅仅想对内存中的进程进行修改,用WriteProcessMemory函数就可以了。+ Q$ s9 ?: t0 w# c: |
9 _$ d% W' G: X: a6 A) J3 X8 bxp下我没有试过。) L/ B) V& l1 |0 O- y$ e0 T
+ e2 ~: Y7 E6 e: c; g( P
( Y& Y0 x- P3 U$ A4 g: I5 f0 M+ T" e; q4 X" B$ L
+ a+ Y$ s6 W, I/ Y, A
% \# j x/ G) v |4 k6 q
9 Z& G" B: `! L: m, Y' Y9 S3 _[此贴子已经被作者于2003-5-15 11:57:51编辑过]
i! U) K& M& }+ r p |