예제 #1
0
        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();
        }
예제 #2
0
        public static ProcessHolder Start(ProcessLaunchContext launchContext)
        {
            launchContext.ThrowIfNull(nameof(launchContext));

            return new ProcessHolder(StartProgram(launchContext));
        }
예제 #3
0
        private static Process StartProgram(ProcessLaunchContext launchContext)
        {
            ProcessStartInfo starterInfo = launchContext.CreateStartInfo();

            return Process.Start(starterInfo);
        }
예제 #4
0
        public static ProgramRunner RunProgram(ProcessLaunchContext launchContext)
        {
            var processHolder = ProcessHolder.Start(launchContext);

            return(new ProgramRunner(processHolder));
        }