【发布时间】:2013-01-12 04:38:02
【问题描述】:
在 C++ 中是否可以调用/运行另一个可执行文件并从该可执行文件接收返回值(例如 1 或 0 表示其他 exe 是否成功执行其操作)?
为简单起见,举个例子,如果我有一个名为 filelist.exe 的外部控制台 .exe,它列出了目录中的所有文件并将这些文件名写入文件。如果 filelist.exe 运行成功,则 main 返回 1,否则返回 0。
如果我使用以下代码运行 filelist.exe,有没有办法从 filelist.exe 获取返回值?
int res = system("filelist.exe dirPath");
// Maybe the windows function CreateProcess() allows filelist.exe to return
// a value to the currently running application?
CreateProcess();
注意我不打算创建一个简单的控制台应用程序来列出目录中的文件我正在尝试创建一个控制台应用程序来检查用户是否具有有效版本的 3rd 方程序,如果他们确实有则返回 1有效版本,如果不是,则为 0。
【问题讨论】:
-
如果您尝试使用
CreateProcess,您将希望在进程退出后使用GetExitCodeProcess函数获取返回值。
标签: c++ windows command-line console