我已经在 StackOverflow 和 Google 上进行了全面的研究,但只得到了关于 C# 和不相关主题的结果,所以现在我不得不问了。我希望在应用程序打开 20 秒后自行关闭并打开同一文件夹中的另一个应用程序。调试后,我将应用程序复制到桌面上的文件夹中,我最终将压缩该文件夹。但我希望该应用程序在文件夹中打开另一个应用程序。比如说 ApplicationA.exe
打开,20 秒后它会关闭并ApplicationB.exe
打开。
4 回答
您可以使用CreateProcess()
作用类似于fork()
+的 winapi 函数,exec()
然后exit()
使用ApplicationA
. 您也可以使用Sleep(miliseconds)
延迟。
以下是有关的信息CreateProcess()
:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx
我相信 C++ 并不是真正进行系统调用的最佳方式,就像你需要在这里做的那样。也许 shell 脚本会是一个更好的选择。
无论如何,最简单的方法可能是编写第三个程序,打开 ApplicationA.exe,关闭它并启动 ApplicaionB.exe。
我相信你必须使用 C++ system
,你可以在<cstdlib>
. 是的,它是 C 特性,而不是 C++ 特性,委婉地说,不鼓励使用它。
您可以使用 system("ApplicationB.exe"); 打开它 然后退出。这将启动 ApplicationB.exe 并退出 ApplicationA.exe。
查看:http ://www.dreamincode.net/forums/topic/18057-run-external-executable/
我建议使用 ShellExecute 函数。http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx