2012-05-11 59 views
3

可能重复:
Overwrite executable in C:\Program\MyProg on Windows Vista如何覆盖我当前运行的可执行文件?

我已经应用程序用C++编写。它正在运行。我怎么才能让它覆盖自己的exe文件,以便下次启动时它会是一个新的exe文件?

有点像自动更新?

+0

无论如何,没有太多的重新打开它,因为已经有很多覆盖Windows和Linux的重复项 –

+4

@PaulR:但是关闭作为一个副本将提供一个指针,这些(IMO )是值得的。 –

回答

2

这在实践中并未完成。什么是通常做的是:

原程序:

  1. 启动一个小的 “更新” 程序
  2. 终止

更新程序:

  1. 等待原来的终止。
  2. 将原稿移开(例如,重命名为“.old”)。
  3. 将新版本移至原位。
  4. 启动新版本。
  5. 终止。

这远远更安全了,因为在新版本到位之前,您并没有吹走旧版本。

0
  1. 复制。
  2. 覆盖副本。
  3. 在运行prog退出之前,创建一个低优先级的进程巫婆可以使用该拷贝来补充原件。像“自动删除”。

这是一个解决方案,反正。我希望这会有所帮助。

0

,如果你有在运行过程控制(这是你的计划,你可以把它知道),你应该能够解开它,所以它可以被覆盖,如果不是你最好的选择是终止和重新启动它如上所述

相关问题