我有一個被調用的方法,雖然我希望在方法完成後顯示消息框(現在消息框在調用該方法後直接顯示) :等待,直到外部過程已完成
if (Check == true)
{
StartConvIpod();
}
else
{
}
MessageBox.Show("Operation Successful!");
StartConvIpod:
private void StartConvIpod()
{
string res = Directory.EnumerateFiles("dump").
OrderBy(x => File.GetCreationTime(x)).Last();
string sub = res.Substring(5);
string sub2 = sub.Substring(0, sub.Length - 4);
Process p = new Process();
p.StartInfo.WorkingDirectory = "dump";
p.StartInfo.FileName = "ffmpeg.exe";
p.StartInfo.Arguments = "-i " + sub + " -f mp4 -vcodec mpeg4 -b 700k -aspect 4:3 -r 23.98 -s 320x240 -acodec ac3 -ar 48000 iPodConversions\\" + sub2 + ".mp4";
p.Start();
}
默認情況下,代碼執行是同步的。看來,StartConvIpod按照您的描述異步執行。你可以發佈'StartConvIpod'的代碼嗎? – vcsjones
'StartConvIpod();'做了什麼?現在我猜想你實際上並沒有達到這個功能,而是跳入其他情況。 – 2011-07-21 16:56:01
@vcsjones我已經更新了我的代碼 –