繁体   English   中英

C#应用程序因进程而保持打开状态

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM