gpt4 book ai didi

c# - 如何让我的 .NET 应用程序自行清除?

转载 作者:IT王子 更新时间:2023-10-29 04:26:43 25 4
gpt4 key购买 nike

如何让我的 C# 应用程序自行清除(自毁)?以下是我认为可行的两种方法:

  • 提供另一个删除主程序的程序。那么这个删除程序是如何删除的呢?
  • 为 CMD 创建一个等待几秒钟然后删除文件的进程。在那几秒钟内,您关闭了应用程序。

这两种方法似乎都很低效。我有一种感觉,Windows 中有一些内置标志或某些东西允许此类操作。我应该怎么做?另外,你能提供一些示例代码吗?

更新:感谢您的所有回答!我要尝试一下,看看它能把我带到哪里。

首先,有些人问我为什么要让我的应用程序执行此操作。答案如下:几天前,我阅读了 Joel Spolsky 在他的博客上发布的 Project Aardvark 规范,其中提到客户端应用程序会在远程 session 后自行删除。我想知道这是如何工作的,以及如果我需要这样做,我如何才能完成这样的壮举。

以下是对建议内容的简要概述:

  • 创建一个注册表项,告诉 Windows 在重新启动时删除该文件
  • 使用 ping 命令启动 CMD 等待几秒钟,然后删除文件

当然,如评论中所述,这两者都有其缺点。

但是,下面概述的这种方法是否可行?

有两个可执行文件:Program.exe 和 Cleaner.exe。前者是程序本身,后者是删除 Program.exe 及其自身的应用程序(如果它已加载到内存中,正如我将要解释的那样)。 Program.exe(有依赖项)是否有可能加载所有没有任何依赖项的Cleaner.exe到内存并运行它?

如果可以的话,能否将Cleaner.exe打包到Program.exe中,加载到内存中运行?

最佳答案

有一个 MoveFileEx API,当给定一个 MOVEFILE_DELAY_UNTIL_REBOOT 标志时,将在下次系统启动时删除指定的文件。

关于c# - 如何让我的 .NET 应用程序自行清除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2245201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com