如何在C ++中重定向到另一个应用程序?

时间:2013-03-29 16:44:43

标签: c++ visual-c++ visual-studio-2012

我已经在StackOverflow和Google上研究了它,但只得到关于C#和不相关主题的结果,所以现在我不得不问。我希望在应用程序打开20秒后关闭自己并打开同一文件夹中的另一个应用程序。在我调试之后,我将应用程序复制到桌面上的文件夹中,我最终会将其压缩。但我希望该应用程序在该文件夹中打开另一个应用程序。比方说ApplicationA.exe打开,20秒后关闭,ApplicationB.exe打开。

4 个答案:

答案 0 :(得分:1)

您可以使用CreateProcess() winapi函数,其功能类似于fork() + exec(),然后exit() ApplicationA。您也可以使用Sleep(miliseconds)来延迟。

以下是有关CreateProcess()的信息:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx

答案 1 :(得分:0)

您可以使用system(“ApplicationB.exe”)打开它;然后退出这将启动ApplicationB.exe并退出ApplicationA.exe。

退房:http://www.dreamincode.net/forums/topic/18057-run-external-executable/

答案 2 :(得分:0)

我认为C ++并不是你需要在这里进行系统调用的最佳方式。也许shell脚本可能是更好的选择。

无论如何,最简单的方法可能是编写第三个打开ApplicationA.exe的程序,关闭它并启动ApplicaionB.exe。

我相信C ++你必须使用system中的<cstdlib>。是的,这是一个C功能,而不是C ++功能,并且不鼓励它使用,温和地说。

答案 3 :(得分:0)