プロが教える店舗&オフィスのセキュリティ対策術

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

よろしくおねがいします。

A 回答 (2件)

ShellExecute()


http://msdn.microsoft.com/ja-jp/library/cc422072 …
などもありますが、結局のところ、どの関数も最終的には
CreateProcess()が動くことになると思います。

なぜCreateProcess()ではダメなのか、理由を示してもらえば、
もっと適切なアドバイスができるかもしれません。
    • good
    • 0
この回答へのお礼

お疲れ様です 
やはりShellExecuteでも結局最後は、CreateProcessが
動くのですね

背景は
C(Win32)から C#で作成したexeを呼ぼうとしているのですが
CreateProcessでうまくいかないのです。
CからC#のexeを呼ぶには設定を変更する必要があるのでしょうか?

お礼日時:2009/11/08 13:37

えーっとWindowsで良いんだよね?


普通はCreateProcess()が推奨されています。

古い関数だったらWinExec()とかもあるけど、このページに書いてあるとおり互換性のために残されているだけです。
http://msdn.microsoft.com/ja-jp/library/cc429435 …

あ、system()でも良いか。
http://x68000.q-e-d.net/~68user/unix/pickup?system
こちらは言語準拠です。

あとexec()族
http://www.fireproject.jp/feature/c-language/pro …
    • good
    • 0
この回答へのお礼

お疲れ様です
CreateProcessが推奨されているんですね

古い関数教えてくださってありがとうございます。
勉強になります。

ありがとうございました!

お礼日時:2009/11/08 13:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!