CreateProcessとバッチファイルについて

[戻る]
JUSEN 2008/10/31(金) 12:33:42
初めてこちらで質問をさせていただきます.

現在,VisualC++でメニューに対応させた関数内でCreateProcess関数を用いて

CreateProcess(NULL, _T("cmd.exe /k sample.bat"), NULL, NULL, FALSE, 0, NULL, 
NULL, &si, &pi);

のようにコマンドプロンプトでsample.batというバッチファイルを開かせるようにして
います.

また,バッチファイルは

cd /d "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools"
vsvars32
cd /d "D:\test"
run_marc -j 3elemTemp2 -u Temp

のような内容で,MSC.Marcを実行させるようにしています.
この内容を実際に手打ちで入力しても,ちゃんと実行されることは確認しています.

ところが,実際に作成したプログラムを実行してみたところ,MSC.Marcは実行されませ
んでした.

どうやら,バッチファイル内でvsvars32.batを実行した後の部分のコマンドが無視とい
うか,反映されていないようなのです.

何か良い解決法がありましたら,よろしくお願いします.

開発環境は「WindowsXP(SP3),Microsoft Visual C++ 6.0」です.

gak 2008/10/31(金) 16:39:12
ぱっと見で気付いた点。

> vsvars32
 ↓
call vsvars32

JUSEN 2008/10/31(金) 17:02:26
[[解決]]
>gak様
ご指摘の通りにやってみましたところ,起動することができました.
ありがとうございました!

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