如何在NT/2000中删除一个正在使用的文件
先锋 2001-11-1 21:53:10
<> MoveFileEx <>
这个函数允许我们对一个指定的文件或目录改名。但是如果我们在dwFlags中指定为TMOVEFILE_DELAY_UNTIL_REBOOT(仅对NT/2000有效),那么这次更动会在重启之后生效,系统会在重启之后删除或改改我们指定的文件。
用法:
MoveFileEx(ExistingFN, NewFN, MOVEFILE_REPLACE_EXISTING)
MoveFileEx(ExistingFN, NewFN, MOVEFILE_DELAY_UNTIL_REBOOT)
其中:
ExistingFN 为指定的文件或目录的路径。
NewFN 为新的文件或目录名。
标志 MOVEFILE_REPLACE_EXISTING 告诉函数如果文件或目录存在则改写它的名称。
如果 NewFN 设为 nil,那么则将其删除
例子:
移动文件:
MoveFileEx('c:/winnt/system32/kernel32.dll', 'd:/winnt.bak/system32/kernel32.dll',MOVEFILE_REPLACE_EXISTING);
MoveFileEx('c:/winnt/system32/kernel32.dll', 'd:/winnt.bak/system32/kernel32.dll',MOVEFILE_DELAY_UNTIL_REBOOT);
删除文件:
MoveFileEx('c:winnt/system32/kernel32.dll', nil,MOVEFILE_REPLACE_EXISTING);
MoveFileEx('c:winnt/system32/kernel32.dll', nil,MOVEFILE_DELAY_UNTIL_REBOOT);
以前收藏的资料,不知道有没有用!