我正在创建一个卸载程序,它将删除一些文件及其自身。它还需要删除放置它的文件夹。我正在使用C ++ for Windows开发卸载程序。
我找到了删除文件夹和文件的方法,但我找不到删除应用程序本身的方法,也删除了包含它的文件夹。
任何人都可以指导我如何实现这一目标?
由于
答案 0 :(得分:1)
您有两种选择:
1)运行一个单独的进程/批处理,在您的应用程序停止运行后删除您的文件/文件夹。该应用程序可以在退出之前运行该过程。
2)使用Win32 API MoveFileEx()
函数在下次PC重启时标记要删除的文件/文件夹。
答案 1 :(得分:0)
你做不到......
当您尝试删除流程的.exe
时,您将获得拒绝访问权限,因为您正在运行此特定.exe
。您需要先停止流程,然后删除.exe
,但如果流程未运行,则无法执行您希望的操作 - >删除所有文件。
您需要创建一个额外的流程,可能需要一个批处理作业来删除您的文件。