发生崩溃时是否有任何方法可以删除通知图标?

时间:2009-07-20 10:15:20

标签: c# winforms winapi windows-xp

有没有办法在发生崩溃时自动删除NotifyIcon? (我知道你可以用鼠标移除它)

我正在运行windows xp。

2 个答案:

答案 0 :(得分:5)

对于C#,尝试从AppDomain处理UnhandledException事件,因此,在Main()方法中添加:

AppDomain.CurrentDomain.UnhandledException += 
    new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

然后添加以下方法:

static void CurrentDomain_UnhandledException(object sender, 
    UnhandledExceptionEventArgs e)
{
    // .... Remove Notification icon here
}

答案 1 :(得分:4)

不幸的是答案是否定的--Rob的答案实际上检测到崩溃,并试图删除崩溃处理程序中的图标,该图标有自己的一组问题(例如,它假设崩溃时CLR正在运行)执行未处理的异常,情况并非总是如此。

这里的问题是shell(运行Shell_NotifyIcon代码)与您的应用程序不同步。