Tag: kill

如何在C#中杀死线程?

我有一个线程打开一个MyMessageAlert类型的forms。 此表单是一个弹出窗口,在我调用它时打开。 它有一个定时器,在30秒后调用CloseWindow()方法。 m_messagAlert = new MyMessageAlert(); ParameterizedThreadStart thStart = new ParameterizedThreadStart(m_messagAlert.setMessage); Thread thread = new Thread(thStart); thread.Start(strMessage); //at this point, the MyMessageAlert form is opened. 我已经定义了一个类型线程列表: public List m_listThread; 每次我创建一个线程,我都将它添加到我的列表中: m_listThread.Add(thread); 当我关闭应用程序时,我希望打开的MyMessageAlert类型的forms将立即关闭(不等待30秒)。 问题是我无法阻止它! 我试图通过使用Abort()函数遍历列表来杀死它: foreach (Thread thread in m_listThread) { if (thread.IsAlive) thread.Abort(); } 但它没有帮助。

“优雅地”杀死一个进程

现在我正在使用Process.Kill()来杀死进程。 有没有办法,而不是立即杀死它,我可以向进程发送一条消息,指示它关闭,以便它可以优雅地清理和关闭。 基本上,我正在寻找仅仅点击右上角的红色X的等价物,我相信它会向请求关闭的应用程序发送消息。