mirror of
https://github.com/ckaczor/Common.git
synced 2026-01-14 09:59:56 -05:00
34 lines
800 B
C#
34 lines
800 B
C#
using System.Diagnostics;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Common.IO
|
|
{
|
|
public class ProcessAsync
|
|
{
|
|
public static Task RunProcessAsync(string fileName, string arguments)
|
|
{
|
|
var taskCompletionSource = new TaskCompletionSource<bool>();
|
|
|
|
var process = new Process
|
|
{
|
|
StartInfo =
|
|
{
|
|
FileName = fileName,
|
|
Arguments = arguments
|
|
},
|
|
EnableRaisingEvents = true
|
|
};
|
|
|
|
process.Exited += (sender, args) =>
|
|
{
|
|
taskCompletionSource.SetResult(true);
|
|
process.Dispose();
|
|
};
|
|
|
|
process.Start();
|
|
|
|
return taskCompletionSource.Task;
|
|
}
|
|
}
|
|
}
|