[英]C# application staying open due to processes
我对C#很新,所以我不确定这是否可能......
我正在尝试做的是使用一个应用程序表单通过Process
启动其他程序,如记事本,然后在记事本仍在运行时关闭我的原始应用程序。
Process notePad = new Process(); notePad.StartInfo.FileName = "notepad.exe"; notePad.Start(); Application.Exit();
根据我的发现,我必须关闭/ notePad.Kill();
Notepad Process
(即notePad.Kill();
)才能关闭启动应用程序。
不过,我希望记事本保持开放状态。
无论如何通过C#实现这一目标?
干杯。
编辑:我发现使用Environment.Exit(0);
否定了我的问题,虽然我有点困惑为什么Application.Exit();
被忽略/什么也没做。
试试这个?
using(Process notePad = Process.Start("notepad.exe","")) { }
Application.Exit();
如果你想在关闭表格后仍然打开记事本,请使用此代码
private void button1_Click(object sender, EventArgs e)
{
Thread notepad_opener = new Thread(opener);
notepad_opener.Start();
}
public void opener()
{
Process.Start("notepad.exe");
Application.Exit();
}
我试试这个,记事本仍然打开:D
您需要将UseShellExecute
属性设置为True; 看到这个页面
您可以保存已启动的流程ID:
int id = notePad.Id;
然后在你想要时杀死它:
Process.GetProcessById(id).Kill();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.