Csharp/C Sharp by API/System.Diagnostics/ProcessStartInfo
Содержание
new ProcessStartInfo()
using System.Diagnostics;
class MainClass
{
public static void Main()
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "notepad.exe";
startInfo.Arguments = "yourFile.cs";
Process.Start(startInfo);
}
}
ProcessStartInfo.Arguments
using System.Diagnostics;
public class StartingProcesses
{
public static void Main()
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "notepad.exe";
startInfo.Arguments = "process.cs";
Process.Start(startInfo);
}
}
ProcessStartInfo.ErrorDialog
using System;
using System.Diagnostics;
class MainClass
{
public static void Main()
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "notepad.exe";
startInfo.Arguments = "file.txt";
startInfo.WorkingDirectory = @"C:\Temp";
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
startInfo.ErrorDialog = true;
Process process;
try
{
process = Process.Start(startInfo);
Console.WriteLine("Waiting 30 seconds for process to finish.");
if (process.WaitForExit(30000))
{
Console.WriteLine("Process terminated.");
}
else
{
Console.WriteLine("Timed out waiting for process to end.");
}
}
catch (Exception ex)
{
Console.WriteLine("Could not start process.");
Console.WriteLine(ex);
}
}
}
ProcessStartInfo.FileName
using System.Diagnostics;
public class StartingProcesses
{
public static void Main()
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "notepad.exe";
startInfo.Arguments = "process.cs";
Process.Start(startInfo);
}
}
ProcessStartInfo.RedirectStandardOutput
using System;
using System.Diagnostics;
public class RedirectingProcessOutput
{
public static void Main()
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/c dir *.cs";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
Console.WriteLine("Output:");
Console.WriteLine(output);
}
}
ProcessStartInfo.UseShellExecute
using System;
using System.Diagnostics;
public class RedirectingProcessOutput
{
public static void Main()
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/c dir *.cs";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
Console.WriteLine("Output:");
Console.WriteLine(output);
}
}
ProcessStartInfo.WindowStyle
using System;
using System.Diagnostics;
class MainClass
{
public static void Main()
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "notepad.exe";
startInfo.Arguments = "file.txt";
startInfo.WorkingDirectory = @"C:\Temp";
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
startInfo.ErrorDialog = true;
Process process;
try
{
process = Process.Start(startInfo);
Console.WriteLine("Waiting 30 seconds for process to finish.");
if (process.WaitForExit(30000))
{
Console.WriteLine("Process terminated.");
}
else
{
Console.WriteLine("Timed out waiting for process to end.");
}
}
catch (Exception ex)
{
Console.WriteLine("Could not start process.");
Console.WriteLine(ex);
}
}
}
ProcessStartInfo.WorkingDirectory
using System;
using System.Diagnostics;
class MainClass
{
public static void Main()
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "notepad.exe";
startInfo.Arguments = "file.txt";
startInfo.WorkingDirectory = @"C:\Temp";
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
startInfo.ErrorDialog = true;
Process process;
try
{
process = Process.Start(startInfo);
Console.WriteLine("Waiting 30 seconds for process to finish.");
if (process.WaitForExit(30000))
{
Console.WriteLine("Process terminated.");
}
else
{
Console.WriteLine("Timed out waiting for process to end.");
}
}
catch (Exception ex)
{
Console.WriteLine("Could not start process.");
Console.WriteLine(ex);
}
}
}