public async static Task OpenFileWithAssociatedAppAsync(FileInfo file) { var launchContext = ProcessLaunchContext.Create( file: file, args: null, showWindow: true, useShellExecute: true ); using var analysisRunner = ProgramRunner.RunProgram(launchContext); await analysisRunner.WaitAsync(); }
public static ProcessHolder Start(ProcessLaunchContext launchContext) { launchContext.ThrowIfNull(nameof(launchContext)); return new ProcessHolder(StartProgram(launchContext)); }
private static Process StartProgram(ProcessLaunchContext launchContext) { ProcessStartInfo starterInfo = launchContext.CreateStartInfo(); return Process.Start(starterInfo); }
public static ProgramRunner RunProgram(ProcessLaunchContext launchContext) { var processHolder = ProcessHolder.Start(launchContext); return(new ProgramRunner(processHolder)); }