从c ++运行.exe

时间:2011-12-14 16:08:17

标签: c++ shellexecute

我的问题是我需要从我的c ++程序运行.exe程序。在shell中运行.exe时,我转到.exe位置,运行.exe,然后在shell中请求我提供的输入文件。然后该程序运行。 从我的研究中我相信我需要使用shell32,但我遇到了一些问题。我目前正在使用linux机器(opensuse)进行编程。 shell32是否仍然可以在这种情况下工作,如果有的话,任何人都知道库应该位于哪里,因为我无法在我的PC上找到它链接到。 我可能看到的另一个问题是程序的运行方式,正如我在shell中所说,运行程序然后提供参数,而我为shellexecute找到的所有示例都在同一个调用中给出了参数。 如果有更好的解决方案,我愿意接受。理想情况下,这应该适用于Windows和Linux机器,但如果我不得不选择我必须去Windows。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

shell32是特定于Windows的。

运行外部可执行文件的一种相当便携的方法是使用system()调用:

SYNOPSIS
       #include <stdlib.h>

       int system(const char *command);

现在,您希望运行的可执行文件必须为您尝试运行它的操作系统构建。如果您想在Linux上运行Windows .exe文件,则需要进入仿真领域(例如Wine)或虚拟化(例如VirtualBox)。