如何在NT/2000中删除一个正在使用的文件

I

import

Unregistered / Unconfirmed
GUEST, unregistred user!
<> 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:.dll', 'd:.bak.dll',MOVEFILE_REPLACE_EXISTING);
MoveFileEx('c:.dll', 'd:.bak.dll',MOVEFILE_DELAY_UNTIL_REBOOT);
删除文件:
MoveFileEx('c:winnt.dll', nil,MOVEFILE_REPLACE_EXISTING);
MoveFileEx('c:winnt.dll', nil,MOVEFILE_DELAY_UNTIL_REBOOT);
 
 
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部