• 締切済み

別のソフトを制御するには?

C言語初心者です。 プログラムから他のソフトを開いてそのソフトを制御することは可能でしょうか? 例えばあるプログラムで計算しながら必要な時に別なソフトを立ち上げてそのソフトで処理したファイルを読み込む・・と言う感じなんですがどうなんでしょうか? だいたいで良いですので方針だけでも教えてください。 よろしくお願いします。

みんなの回答

  • itohh
  • ベストアンサー率45% (210/459)
回答No.4

こんにちは。itohhといいます。 他のソフトといっているのは、自作のソフトなのでしょうか? あるいは、WordやExcelなどでしょうか? 自作のソフトならば、起動も終了もデータの受け渡しも自由に出来ると思いますよ。 起動:CreateProcess 終了:ExitProcess データの受け渡し:PostMessage系やメモリ マップド ファイルを使用する また、WordやExcelは、ActiveXとして実行することが出来ます。 起動後、ファイルのオープン&クローズが呼び出し元から制御することが可能です。 もちろん、Excelだと計算をさせることも可能です。

  • yatokesa
  • ベストアンサー率40% (201/496)
回答No.3

他のソフトの処理結果をファイルで受け取るのなら問題ないと思います。他のソフトというのが吐き出すファイルをいつ読み出すかというタイミングをはかれば普通にOPENして読み込めます。 どのようなソフトを作ろうとしているのかはわかりませんが、自アプリ内でスレッドを作成してマルチスレッドで動作させることもできますよ。

  • Pesuko
  • ベストアンサー率30% (2017/6702)
回答No.2

WINプログラムに関してはかなり素人にちかいのですが。 他のプログラムを起動して実行する時、データを渡して実行し、結果を受け取る必要がありますよね。 受け渡しできるソフトと出来ない物があります。 可能なものDDEもしくはOCXがあればOCXを利用します。 DDEは簡単ですが遅いです。また起動しているプログラムの影響を受けやすいです。 OCXがあればOCXをお勧めします。

  • ShaneOMac
  • ベストアンサー率39% (356/898)
回答No.1

単にCと言われても処理系によって違うと思いますが。実行対象のOSや使用コンパイラくらいは書かないといけないと思います。 windowsでwin32APIを使うなら WinExec(buffer); でコマンドラインが実行できますが。

harano77
質問者

補足

即答どうもありがとうございます。 すいません、Windows2000でVC++です。

専門家に質問してみよう