Как отменить отложенную операцию MoveFileEx?

Я использую приведенную ниже команду для удаления некоторых файлов после перезагрузки машины:

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

Как я могу отменить выполнение этой команды и предотвратить удаление файлов после перезагрузки?

windows,delphi,winapi,delphi-7,

6

Ответов: 2


14 принят

Файлы, которые вы ставите в очередь на удаление таким образом, помещаются в реестр HKLMSystemCurrentControlSetControlSession ManagerPendingFileRenameOperations. Возможно, вы можете удалить записи оттуда, чтобы предотвратить удаление файлов. Я не мог найти функцию API для этого.


Я думаю, вы могли бы скопировать файл (так как он еще не был удален), а затем использовать

MoveFileEx(copy_of_file, original_file, MOVEFILE_DELAY_UNTIL_REBOOT)

вернуть его на место во время перезагрузки.

Как отметил Кен Уайт, было бы намного лучше избежать этой ситуации.

окна, Дельфы, WinAPI, Дельфы-7,
Похожие вопросы