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

BattleBoy 2001-10-31 01:19:24
...全文
102 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cobi 2001-10-31
  • 打赏
  • 举报
回复
guanzhu
BattleBoy 2001-10-31
  • 打赏
  • 举报
回复
行了,多谢
BattleBoy 2001-10-31
  • 打赏
  • 举报
回复
我试试...
Bob7946 2001-10-31
  • 打赏
  • 举报
回复
给你点资料:
<> 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);


5,387

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧