プロセスが終了するまで次の処理を行わない
using System.Diagnostics;
class Project
{
//メイン
public static void Main(string[] args)
{
//プロセスが終了するまで次のプロセスを行わない
string processName = "notepad";
if (IsStopedProcess(processName))
{
System.Diagnostics.Debug.WriteLine("notepad終了");
}
}
///
/// プロセス終了検知
/// プロセスが終了するまでループし続ける
///
/// ///
public static bool IsStopedProcess(string processName)
{
foreach (var process in Process.GetProcessesByName(processName))
{
//プロセスが終了したらTrue
while (!process.HasExited)
{
System.Threading.Thread.Sleep(1000);
}
}
return true;
}
}
プロセスが終了するまで待つ
この場合メモ帳が閉じられるまで無限ループし続けるプロセスがなければProcess.GetProcessesByNameで拾えず抜けるし、拾えたらHasExitedでプロセスが閉じるまで監視し続ける
このプロセスが終わってから次の処理へ、としたい場合に使う
0 件のコメント:
コメントを投稿