VC++のプログラム中で、.exeを起動したい。

[戻る]
taka 2003/11/02(日) 20:20:46
要は、ごくふつうのコード中に、
abc.exe
という子コードのRUNをさせ、
終われば、親コードの元位置に戻って来る
ようにさせたいのです。

出来るでしょうか?

PAI 2003/11/02(日) 21:22:18
WaitForSingleObject, CreateProcess

それとも、
『できます。』という答えがご所望ですか?

通りすがり 2003/11/03(月) 02:37:23
>>PAI
何様?w

NEG(ねぐ) [E-Mail] [HomePage] 2003/11/03(月) 09:16:30
 まあ、単に「出来るでしょうか?」では「やりかた」ではなく、
「できる」「できない」という回答だけを求めてるのように読めますが、、、

 こんなのもあり。
http://www24.cds.ne.jp/~neg/pro/piyo1/ap/shell.html

くたくた 2003/11/03(月) 15:19:09
できます。二通りの方法があります。
(1) system()を使う
(2) CreateProcess(),GetStartupInfo(),WaitForSingleObject(),CloseHandle()
    を組み合わせて使う

(1)は単純なのが利点です。が細かい制御が効きません。
又、Win2K+SP2 & VC++6+SP5時代、「長すぎる実行パス名だと動かない」
という事がありました。

(2) は調査が面倒ですが、Win専用である分とても細かい挙動制御ができます。
system2()のような関数として作っておき 将来もそれを使う可能性があるのなら、
(1)よりも得をするでしょう。

wood 2003/11/04(火) 04:36:30
過去ログ
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200101/01010036.txt
を参考にしてください

Merosu [E-Mail] [HomePage] 2003/11/09(日) 21:19:09
WinExec じゃないの?

シャノン 2003/11/10(月) 03:04:07
WinExec は下位互換のために残されています。
新しいプログラムでは非推奨です。

http://www.microsoft.com/japan/msdn/library/default.asp?
url=/japan/msdn/library/ja/jpdllpro/html/_win32_winexec.asp

古いスレッドには追加発言できません。