c++ - C+ +'s "系统“无需等待 (Win32)

标签 c++ windows background execute

我有一个程序可以检查服务器上是否有版本更新。现在我必须做类似的事情

if(update_avail) {
    system("updater.exe");
    exit(0);
}

但无需等待“updater.exe”完成。否则我无法替换我的主程序,因为它正在运行。那么如何执行“updater.exe”并立即退出呢?我知道使用 fork 等的 *nix 方法,如何在 Windows 中执行此操作?

最佳答案

使用CreateProcess() ,它异步运行。然后您只需确保 updater.exe 可以写入原始 EXE,您可以等待或重试直到原始进程结束。 (当然有一个宽限期。)

关于c++ - C+ +'s "系统“无需等待 (Win32),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160833/

相关文章:

c++ - 文字字符串有效但字符串不在 file.open()

c++ - 如何在 C++ 中获得 vector 复数值的最大值、最小值和位置?

css - 缩放背景图像以使用居中和纵横比填充浏览器窗口

c++ - 为什么 std::enable_if 需要第二种模板类型?

c++ - 抛出异常与返回码

c - 如何在运行时更改宏定义

windows - 需要在命令提示符下导航到文件夹

linux - 生成0's and 1's的随机文件

移动网站背景图片的CSS

仅应用于文本的文本框的 CSS 背景色