开始使用C#的Process.Start程序的进程ID
-
27-09-2019 - |
题
在此先感谢所有的帮助!
我目前正在开发的C#2010的程序启动砰砰(腻子)来创建一个SSH隧道。我试图让能够跟踪是开放的,因此用户可能会终止不再需要那些实例每个隧道的方案。我目前使用System.Diagnostics.Process.Start运行砰砰(当前正在使用的腻子)。我需要确定当它被启动,因此用户可随意终止它的每个PLINK节目的PID。
问题是如何做到这一点,我使用正确的.Net名字空间或者是有什么好?
代码段:
private void btnSSHTest_Click(object sender, EventArgs e)
{
String puttyConString;
puttyConString = "-ssh -P " + cboSSHVersion.SelectedText + " -" + txtSSHPort.Text + " -pw " + txtSSHPassword.Text + " " + txtSSHUsername.Text + "@" + txtSSHHostname.Text;
Process.Start("C:\\Program Files (x86)\\Putty\\putty.exe", puttyConString);
}
解决方案
您可以这样做:
private void btnSSHTest_Click(object sender, EventArgs e)
{
String puttyConString;
puttyConString = "-ssh -P " + cboSSHVersion.SelectedText + " -" + txtSSHPort.Text + " -pw " + txtSSHPassword.Text + " " + txtSSHUsername.Text + "@" + txtSSHHostname.Text;
Process putty = Process.Start("C:\\Program Files (x86)\\Putty\\putty.exe", puttyConString);
int processId = putty.Id;
}
其他提示
的Process.Start返回一个Process对象。使用Process.Id
属性来找出ID。
private void btnSSHTest_Click(object sender, EventArgs e)
{
String puttyConString;
puttyConString = "-ssh -P " + cboSSHVersion.SelectedText + " -" + txtSSHPort.Text + " -pw " + txtSSHPassword.Text + " " + txtSSHUsername.Text + "@" + txtSSHHostname.Text;
Process started = Process.Start("C:\\Program Files (x86)\\Putty\\putty.exe", puttyConString);
//do anything with started.Id.
}
我不知道如果我理解正确的,但Process.Start
(至少你使用过载)将返回Process
,然后将该Process
有Id
属性。
不隶属于 StackOverflow