gpt4 book ai didi

c++ - 可以让 Win32 应用程序阻塞直到它退出吗?

转载 作者:搜寻专家 更新时间:2023-10-31 00:34:30 26 4
gpt4 key购买 nike

当我在 Windows 中打开命令行 (cmd) 并启动程序时,例如 calc,提示立即返回并启动程序(计算器窗口显示)。

这与我从 Linux 世界中了解到的相反:当我启动一个(可能带有 GUI)应用程序时,提示符不会返回,直到我退出已启动的程序。

Example: calculator is still running, but the user can already enter new commands at the prompt

使用 w32 api,是否可以对其进行编程,以便我的应用程序显示一个窗口,但仅在用户关闭窗口后才返回提示?

最佳答案

Possible to have Win32 application block until it exits?

调用 CreateProcess 来创建进程。这将在返回的 PROCESSINFORMATION 结构中生成进程句柄。将该进程句柄传递给 WaitForSingleObject 以等待进程收到信号。


根据评论,您似乎真正想要的是一个可执行文件,当其父进程是控制台应用程序时,该可执行文件的行为将类似于控制台应用程序。并且在其他方​​面表现得像一个 GUI 应用程序。不可能从一个可执行文件中同时执行这两项操作。目标子系统由可执行文件中的元数据确定。

处理这个问题的标准方法是有两个可执行文件,每个针对不同的子系统。一个是控制台应用程序,另一个是 GUI 应用程序。这方面的常见示例是 java.exe 和 javaw.exe、python.exe 和 pythonw.exe。

关于c++ - 可以让 Win32 应用程序阻塞直到它退出吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25961139/

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