如何取消延迟的MoveFileEx操作?

Arm*_*min 6 windows delphi winapi delphi-7

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

MoveFileEx(PChar(File_Address), Nil, MOVEFILE_DELAY_UNTIL_REBOOT);
Run Code Online (Sandbox Code Playgroud)

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

Cod*_*ter 14

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

  • +1.您可以直接使用Delphi的TRegistry类或API删除该注册表项中的条目,但请注意,在Vista及以上版本中,您需要以管理员身份登录才能执行此操作(普通用户无法从HKLM写入/删除) .当然,更好的解决方案是首先不要创建条目,直到您完全确定要删除文件为止.:) (4认同)