本文整理汇总了C#中System.Diagnostics.ProcessStartInfo.Start方法的典型用法代码示例。如果您正苦于以下问题:C# ProcessStartInfo.Start方法的具体用法?C# ProcessStartInfo.Start怎么用?C# ProcessStartInfo.Start使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Diagnostics.ProcessStartInfo
的用法示例。
在下文中一共展示了ProcessStartInfo.Start方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Exec
/// <exception cref="NGit.Errors.TransportException"></exception>
public virtual SystemProcess Exec(string command, int timeout)
{
string ssh = SystemReader.GetInstance().Getenv("GIT_SSH");
bool putty = ssh.ToLower().Contains("plink");
IList<string> args = new AList<string>();
args.AddItem(ssh);
if (putty && !ssh.ToLower().Contains("tortoiseplink"))
{
args.AddItem("-batch");
}
if (0 < this._enclosing.GetURI().GetPort())
{
args.AddItem(putty ? "-P" : "-p");
args.AddItem(this._enclosing.GetURI().GetPort().ToString());
}
if (this._enclosing.GetURI().GetUser() != null)
{
args.AddItem(this._enclosing.GetURI().GetUser() + "@" + this._enclosing.GetURI().
GetHost());
}
else
{
args.AddItem(this._enclosing.GetURI().GetHost());
}
args.AddItem(command);
ProcessStartInfo pb = new ProcessStartInfo();
pb.SetCommand(args);
if (this._enclosing.local.Directory != null)
{
pb.EnvironmentVariables.Put(Constants.GIT_DIR_KEY, this._enclosing.local.Directory
.GetPath());
}
try
{
return pb.Start();
}
catch (IOException err)
{
throw new TransportException(err.Message, err);
}
}
示例2: Ngen
/// <summary>
/// Runs ngen in the background to pre-compile new/updated .NET assemblies.
/// </summary>
private void Ngen()
{
if (IsPortable || !WindowsUtils.IsAdministrator) return;
// Use .NET 4.0 if possible, otherwise 2.0
string netFxDir = WindowsUtils.GetNetFxDirectory(
WindowsUtils.HasNetFxVersion(WindowsUtils.NetFx40) ? WindowsUtils.NetFx40 : WindowsUtils.NetFx20);
string ngenPath = Path.Combine(netFxDir, "ngen.exe");
if (!File.Exists(ngenPath)) return;
foreach (string assembly in _ngenAssemblies)
{
string arguments = new[] {"install", Path.Combine(Target, assembly)}.JoinEscapeArguments();
var startInfo = new ProcessStartInfo(ngenPath, arguments) {WindowStyle = ProcessWindowStyle.Hidden};
using (var process = startInfo.Start())
if (process != null) process.WaitForExit();
}
}
示例3: Exec
/// <exception cref="NGit.Errors.TransportException"></exception>
internal override void Exec(string commandName)
{
string ssh = SystemReader.GetInstance().Getenv("GIT_SSH");
bool putty = ssh.ToLower().Contains("plink");
IList<string> args = new AList<string>();
args.AddItem(ssh);
if (putty)
{
args.AddItem("--batch");
}
if (0 < this._enclosing.GetURI().GetPort())
{
args.AddItem(putty ? "-P" : "-p");
args.AddItem(this._enclosing.GetURI().GetPort().ToString());
}
if (this._enclosing.GetURI().GetUser() != null)
{
args.AddItem(this._enclosing.GetURI().GetUser() + "@" + this._enclosing.GetURI().
GetHost());
}
else
{
args.AddItem(this._enclosing.GetURI().GetHost());
}
args.AddItem(this._enclosing.CommandFor(commandName));
ProcessStartInfo pb = new ProcessStartInfo();
pb.SetCommand(args);
if (this._enclosing.local.Directory != null)
{
pb.EnvironmentVariables.Put(Constants.GIT_DIR_KEY, this._enclosing.local.Directory
.GetPath());
}
try
{
this.proc = pb.Start();
}
catch (IOException err)
{
throw new TransportException(this._enclosing.uri, err.Message, err);
}
}
示例4: buttonCommandLine_Click
private void buttonCommandLine_Click(object sender, EventArgs e)
{
ProcessUtils.SanitizeEnvironmentVariables();
var cmd = new ProcessStartInfo("cmd.exe", "/k echo " + Resources.CommandLineHint)
{
UseShellExecute = false,
WorkingDirectory = Locations.IsPortable ? Locations.PortableBase : Locations.HomeDir
};
cmd.EnvironmentVariables["Path"] = Locations.InstallBase + Path.PathSeparator + Environment.GetEnvironmentVariable("Path");
cmd.Start();
}