如何取消延迟的MoveFileEx操作?

时间:2011-10-15 12:40:42

标签: windows delphi winapi delphi-7

我使用以下命令在重启机器后删除一些文件:

MoveFileEx(PChar(File_Address), Nil, MOVEFILE_DELAY_UNTIL_REBOOT);

如何取消执行此命令并阻止文件在重启后删除?

2 个答案:

答案 0 :(得分:14)

您以这种方式排队删除的文件放在HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations下的注册表中。也许您可以从那里删除条目,以防止文件被删除。我找不到这个API函数。

答案 1 :(得分:0)

我想你可以复制文件(因为它还没有被删除),然后使用

MoveFileEx(copy_of_file, original_file, MOVEFILE_DELAY_UNTIL_REBOOT)

在重启期间将其重新安装到位。

正如肯·怀特所指出的那样,首先避免这种情况要好得多。