使 MFC 模态(同步)
Posted
技术标签:
【中文标题】使 MFC 模态(同步)【英文标题】:Make MFC Modal (synchronous) 【发布时间】:2015-04-16 15:53:55 【问题描述】:我创建了一个 MFC GUI 应用程序 (blah.exe),它运行良好。我需要在 powershell 脚本中使用它,并且我需要脚本等待 .exe 应用程序完成。但是 .exe 本身是异步运行的,即调用进程不会等待它完成。我该如何更改?
应用程序是在 Visual Studio 2010 中使用标准 MFC 应用程序向导创建的。
【问题讨论】:
当您从 PowerShell 启动应用程序时是否会退出,但如果您手动启动它可以正常工作?你是这么说的吗? 不管如何启动都会立即退出。我相信这是由 MFC gui 应用程序设计的。我想为我的应用程序更改它。我怀疑答案将是创建一个创建所有对话框的控制台应用程序,但想知道是否有更简单的方法。 问题是不是 exe 退出,它会继续运行直到对话框消失。问题是让powershell等待它。您可以使用任务管理器自己查看。 正确,我在使用术语时很草率。 exe进程当然会继续运行。但它是异步运行的——它与 powershell 无关。无论如何调用,行为都是一样的。 【参考方案1】:您应该在 PowerShell 中使用以下命令启动您的应用程序:
Start-Process <path to exe> -NoNewWindow -Wait
【讨论】:
完美。谢谢。比更改 .exe 容易得多 @DavidI.McIntosh 您无法对 .exe 进行任何更改,从而导致您需要的行为。这就是答案。 @MarkRansom 您能否扩展您的评论或提供链接?我想明白。谢谢。以上是关于使 MFC 模态(同步)的主要内容,如果未能解决你的问题,请参考以下文章