卸载我的msi应用程序时,调用DeleteFile()函数后,Program Data文件夹中的日志文件(.txt)没有被删除。通过使用 GetErrorCode() 我可以检查其返回的错误代码 32,这意味着该文件正在使用中。有没有办法在卸载时删除这些日志文件?理论或来源 - 任何形式的帮助将不胜感激。
我尝试使用下面的代码,但它不起作用。即使 fclose() 操作也没有产生任何积极的结果。
SHFILEOPSTRUCT file_op = {
NULL,
FO_DELETE,
dir,
"",
FOF_NOCONFIRMATION |
FOF_NOERRORUI |
FOF_SILENT,
false,
0,
"" };
SHFileOperation(&file_op);
您无法删除其他进程当前正在使用的文件。您可以尝试将
MoveFileEx
与 MOVEFILE_DELAY_UNTIL_REBOOT flag
一起使用。
有关更多详细信息,我建议您可以参考以下主题: 如何强制删除C/C++中锁定的文件?