应用程序如何在C ++中删除自身及其包含的文件夹?

时间:2013-04-17 10:15:57

标签: c++ windows winapi

我正在创建一个卸载程序,它将删除一些文件及其自身。它还需要删除放置它的文件夹。我正在使用C ++ for Windows开发卸载程序。

我找到了删除文件夹和文件的方法,但我找不到删除应用程序本身的方法,也删除了包含它的文件夹。

任何人都可以指导我如何实现这一目标?

由于

2 个答案:

答案 0 :(得分:1)

您有两种选择:

1)运行一个单独的进程/批处理,在您的应用程序停止运行后删除您的文件/文件夹。该应用程序可以在退出之前运行该过程。

2)使用Win32 API MoveFileEx()函数在下次PC重启时标记要删除的文件/文件夹。

答案 1 :(得分:0)

你做不到...... 当您尝试删除流程的.exe时,您将获得拒绝访问权限,因为您正在运行此特定.exe。您需要先停止流程,然后删除.exe,但如果流程未运行,则无法执行您希望的操作 - >删除所有文件。 您需要创建一个额外的流程,可能需要一个批处理作业来删除您的文件。