• ベストアンサー

C&C++から*.exeを呼ぶ方法の種類について

C&C++から*.exeを呼ぶ方法として 私は今まで 1)CreateProcessを用いる方法 具体例は以下 ret = CreateProcess(NULL, "\"c:\\WINDOWS\\system32\\notepad.exe\" \"c:\\test.txt\"", NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi); でよんでいたのですが他に 方法はありますか??? あればできれば具体的に例でいいので簡単な ソースコード(API)をおしえてくださいm(___)m よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Lchan0211
  • ベストアンサー率64% (239/371)
回答No.2

ShellExecute() http://msdn.microsoft.com/ja-jp/library/cc422072.aspx などもありますが、結局のところ、どの関数も最終的には CreateProcess()が動くことになると思います。 なぜCreateProcess()ではダメなのか、理由を示してもらえば、 もっと適切なアドバイスができるかもしれません。

ringist
質問者

お礼

お疲れ様です  やはりShellExecuteでも結局最後は、CreateProcessが 動くのですね 背景は C(Win32)から C#で作成したexeを呼ぼうとしているのですが CreateProcessでうまくいかないのです。 CからC#のexeを呼ぶには設定を変更する必要があるのでしょうか?

その他の回答 (1)

  • mk48a
  • ベストアンサー率56% (1133/2007)
回答No.1

えーっとWindowsで良いんだよね? 普通はCreateProcess()が推奨されています。 古い関数だったらWinExec()とかもあるけど、このページに書いてあるとおり互換性のために残されているだけです。 http://msdn.microsoft.com/ja-jp/library/cc429435.aspx あ、system()でも良いか。 http://x68000.q-e-d.net/~68user/unix/pickup?system こちらは言語準拠です。 あとexec()族 http://www.fireproject.jp/feature/c-language/process/exec.html

ringist
質問者

お礼

お疲れ様です CreateProcessが推奨されているんですね 古い関数教えてくださってありがとうございます。 勉強になります。 ありがとうございました!