我的应用程序需要删除一些文件,但这应该发生,直到下一次启动Windows.
我现在正在做的是在RunOnce注册表项中写入此字符串值:
Command.com /c del c:\some file.ext
Run Code Online (Sandbox Code Playgroud)
但我发现嵌入空间的路径存在问题.我不得不说我也试过这个:
Command.com /c del "c:\some file.ext"
Run Code Online (Sandbox Code Playgroud)
但这并不能解决问题,但最糟糕的是:不管删除任何文件,无论嵌入空间如何!
从我的程序中删除文件延迟到下次重启的正确方法是什么?
谢谢.
Ken*_*ite 28
不要使用RunOnce,也不要使用Command.com.如果你坚持使用某些东西,请%COMSPEC% /c改用.不过,你有更好的选择.
使用带标志的MoveFileExMOVEFILE_DELAY_UNTIL_REBOOT:
if not MoveFileEx(PChar(YourFileToDelete), nil, MOVEFILE_DELAY_UNTIL_REBOOT) then
SysErrorMessage(GetLastError);
Run Code Online (Sandbox Code Playgroud)