【问题标题】:Running .exe from c++从 C++ 运行 .exe
【发布时间】:2011-12-14 16:08:17
【问题描述】:

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

【问题讨论】:

    标签: c++ shellexecute


    【解决方案1】:

    shell32 是特定于 Windows 的。

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

    SYNOPSIS
           #include <stdlib.h>
    
           int system(const char *command);
    

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

    【讨论】:

    • &lt;cstdlib&gt;,因为有C++标签
    • 谢谢,你知道用连续命令来完成这项工作的方法吗,即我试过 system(cd /home/file);系统(猫测试.txt); test.txt 位于文件中的位置。那没有用,但是 system(cat /home/file/test.txt);做了。
    • 按此处所述解决:stackoverflow.com/questions/245600/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 2015-09-30
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    相关资源
    最近更新 更多