我对C#很新,所以我不确定这是否可能......
我尝试做的是使用应用程序表单通过Process
启动其他程序,例如记事本,然后在记事本仍在运行时关闭原始应用程序。
Process notePad = new Process(); notePad.StartInfo.FileName = "notepad.exe"; notePad.Start(); Application.Exit();
根据我发现的内容,必须关闭/终止记事本Process
(即notePad.Kill();
)才能关闭启动应用程序。
然而,我希望记事本保持开放状态。
无论如何通过C#来实现这个目标吗?
干杯。
修改
我发现使用Environment.Exit(0);
否定了我的问题,虽然我对为什么Application.Exit();
被忽略/没有做任何事情感到有些困惑。
答案 0 :(得分:2)
试试这个?
using(Process notePad = Process.Start("notepad.exe","")) { }
Application.Exit();
答案 1 :(得分:1)
如果你想在关闭表格后仍然打开记事本,请使用此代码
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
答案 2 :(得分:0)
您需要将UseShellExecute
属性设置为True;见this page
答案 3 :(得分:0)
您可以保存已启动的处理ID:
int id = notePad.Id;
然后在你想要的时候杀死它:
Process.GetProcessById(id).Kill();