簡體   English   中英

關閉主應用程序之前先關閉外部應用程序

[英]close external application before closing the main application

我正在為應用程序開發用c#winforms編寫的插件。 我已經在調試中設置了啟動操作。 我已經設置了啟動外部程序,它正在啟動該應用程序。 在我的winform中,我為按鈕單擊事件編寫了代碼,該事件啟動了一個新過程,即notepad.exe。

現在的問題是,當我關閉該外部應用程序時,從此按鈕單擊事件調用的所有打開的記事本都應自動關閉。

任何幫助,我們將不勝感激。

您可以使用System.Diagnostics.Process來啟動進程,如下所示:

Process proc=Process.Start("notepad.exe");

在結束事件中,您可以使用:

proc.Kill;

您也可以只存儲您的進程的ID:

//arr is int array where stored your processes ids
for(int i=0; i<arr.Length; i++)
{
    Process.GetProcessById(arr[i]).Kill();
}

在此示例中,當關閉計算器時,我關閉了記事本:

    private void Form1_Load(object sender, EventArgs e)
    {
        foreach (Process p in Process.GetProcessesByName("calc"))
        {
            p.EnableRaisingEvents = true;
            p.Exited += p_Exited;
        }
    }

    void p_Exited(object sender, EventArgs e)
    {
        foreach (Process p in Process.GetProcessesByName("notepad"))
        {
            p.CloseMainWindow();
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM