在卸载程序时,Windows如何在下次重新启动时删除locking的文件?

在卸载程序时,Windows如何在下次重新启动时删除locking的文件? 也许有某种预定的过程?

Solutions Collecting From Web of "在卸载程序时,Windows如何在下次重新启动时删除locking的文件?"

卸载过程使用MoveFileEx并设置了MOVEFILE_DELAY_UNTIL_REBOOT标志,这表示在重新引导之前该操作不应该发生。 将lpNewFileName参数lpNewFileName表示应删除该文件:

如果dwFlags指定MOVEFILE_DELAY_UNTIL_REBOOT且lpNewFileName为NULL,则MoveFileEx在系统重新启动时注册要删除的lpExistingFileName文件。 如果lpExistingFileName指向一个目录,则只有当目录为空时,系统才会在重新启动时删除该目录。

MOVEFILE_DELAY_UNTIL_REBOOT上的信息表示:

MOVEFILE_DELAY_UNTIL_REBOOT

在操作系统重新启动之前,系统不会移动文件。 AUTOCHK执行后,系统立即移动文件,但在创建任何分页文件之前。 因此,该参数使该功能可以从以前的启动中删除分页文件

上面的函数将一个条目写入注册表,在启动过程中自动处理:

该函数在以下注册表值中存储重新启动时要重命名的文件的位置:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ PendingFileRenameOperations