質問: System.Diagnostics.Process.Start("C:\Users\myname\Documents\Visual Studio 2015\Projects\実験\obj\Release\Mother.CMD") '終了するまで最大10秒間だけ待機する p.WaitForExit(20000) '終了したか確認する If p.HasExited Then MessageBox.Show("終了しました。") Else MessageBox.Show("終了していません。") End If End If ``` 原因を解明するにはどのような知識が必要でしょうか。 よろしくお願いします。
回答: こちらのサイトを見ると、作り的には問題なさそうですね。 ということは実行しているコマンドに問題がありそうです。 まずは他のコマンドで正しく実行できるか、終了するまで正しく待てるかというのを確認しましょう。 次のコマンドで10秒待てるか試してみてください。 `ping -n 10 localhost` これで問題がなければMother.CMDの問題です。 コマンドの内容としては、ファイル操作ぽいので、コマンドで使われるファイルが正しく参照できているかなどを確認してください。 特に気になるのは`Process.Start`で指定しているコマンドは絶対パスなのに、コマンド内の`/file=HogeExport.txt`で指定しているパスが相対パスになっていることです。 `/file=C:\Users\myname\Documents\Visual Studio 2015\Projects\実験\obj\Release\HogeExport.txt`としたらどうでしょうか。