如果要修改磁盘中的程序,而这个程序正在运行中,可以用MoveFile把这个程序移到temp目录,然后在原位复制这个程序的副本,对副本进行修改。只要重新启动系统,或者注销再登陆(看程序由谁调用),或者在内存中杀掉原来进程再重新运行,都可以使使修改后的程序生效。& L/ @0 w: i' ]/ y' ~
不过对于系统文件,由于2000/XP有系统文件保护,应该先把\WINNT\system32\dllcache中的同名文件也改了,否则会自动恢复。如果系统发现文被修改,有提示要求插入系统盘,直接跳过。
1 [! G3 r. _* n* Y2 ?% K2 }5 v) |8 h3 x& T0 P6 w1 P! g$ u* Z
如果仅仅想对内存中的进程进行修改,用WriteProcessMemory函数就可以了。4 x" @7 {- D4 A4 b8 Y( F9 p4 y# g
$ b6 i A! M8 b! ^! ^9 uxp下我没有试过。* ~5 J- h# I( l) t% c8 s
) ^' I: T0 q6 e; Z
8 B0 [8 p0 V' c; z3 O6 K
& }' a v- O) w9 y j& G8 Z& a! h$ O7 s3 H2 z
' r) [" e* I# q/ i; v
- e3 O4 F# A. j7 E! ]+ L c% l[此贴子已经被作者于2003-5-15 11:57:51编辑过] 8 f1 f( Z% P. b; s1 M
|