c#跟踪进程,如果它被杀死

本文关键字:如果 跟踪 进程 | 更新日期: 2023-09-27 18:04:02

是否有一个事件或一种方法来捕获从我的应用程序外部杀死进程的时间?

我尝试了下面这两个事件,但是当我在TaskManager中杀死进程时,它没有报告任何内容。

    private void startServer() 
    {
        proc = new Process();
        proc.Exited += proc_Exited;
        proc.Disposed += proc_Disposed;
    }
    void proc_Disposed(object sender, EventArgs e)
    {
        //Report here
    }
    void proc_Exited(object sender, EventArgs e)
    { 
        //Report here
    }

c#跟踪进程,如果它被杀死

已退出和已处置事件仅在您在应用程序内关闭时触发(当用户单击x按钮时通过您的代码),而不是从外部(从任务管理器杀死)。当有人从任务管理器中杀死/终止您的应用程序时,没有简单的方法可以捕获。你可以用api挂钩来捕获它。