2011-12-14 12 views
0

私の問題は、私のC++プログラムから.exeプログラムを実行する必要があることです。シェルで.exeを実行すると、.exeの場所に移動し、シェルで.exeを実行し、次に入力ファイルを要求します。プログラムが実行されます。 私の研究から、私はshell32を使う必要があると信じていますが、いくつか問題があります。私は現在、Linuxマシン(opensuse)でプログラミングしています。このシナリオではshell32は引き続き動作しますか?そうであれば誰でもライブラリをどこに置くべきか知っていますので、私のPC上でそれを見つけることができません。 私が潜在的に見るもう1つの問題は、プログラムの実行方法です。プログラムを実行してから引数を指定したのに対し、shellexecuteのすべての例では同じ呼び出しで引数が与えられます。 より良い解決策がある場合は、私はそれを開いています。理想的には、これはウィンドウズやLinuxマシン上で動作するはずですが、私が選択しなければならない場合は、ウィンドウズに行かなければなりません。 ありがとうございます。C++から.exeを実行する

答えて

3

shell32はWindows固有です。今

SYNOPSIS 
     #include <stdlib.h> 

     int system(const char *command); 

、あなたがしようとしているれているオペレーティングシステムのために構築されるようにしている実行したい実行ファイル:外部実行可能ファイルを実行する

一つかなりポータブルな方法はsystem()コールを使用することですそれを実行します。 Linux上でWindows .exeファイルを実行する場合は、エミュレーションの領域(例:Wine)または仮想化(例:VirtualBox)に入ります。

+0

C++タグがあるので、 – Abyx

+0

ありがとう、私はシステム(cd/home/file)を試した連続したコマンドでこの作業をする方法を知っていますか?システム(cat test.txt); test.txtはファイル内にあります。それは動作しませんでしたが、システム(cat /home/file/test.txt);した。 – wookie1

+0

ここに記載されているように解決:http://stackoverflow.com/questions/245600/using-a-single-system-call-to-execute-multiple-commands-in-c – wookie1

関連する問題