WPF-将应用程序从系统托盘带到前端

WPF-将应用程序从系统托盘带到前端,wpf,singleton,user32,notifyicon,Wpf,Singleton,User32,Notifyicon,我正在使用System.Windows.Forms.NotifyIcon将我的应用程序最小化到系统托盘。当用户试图打开应用程序的另一个实例时,我想将该应用程序放回前台 如果应用程序的第一个实例隐藏在其他应用程序后面,则来自的代码可以正常工作,但在最小化到系统托盘时则不能 如何使用WPF实现这一点?您可以通过注册通知图标的单击事件来实现,您可以 private void SetSystemTrayIcon() { System.Windows.Forms.Notify

我正在使用System.Windows.Forms.NotifyIcon将我的应用程序最小化到系统托盘。当用户试图打开应用程序的另一个实例时,我想将该应用程序放回前台

如果应用程序的第一个实例隐藏在其他应用程序后面,则来自的代码可以正常工作,但在最小化到系统托盘时则不能


如何使用WPF实现这一点?

您可以通过注册通知图标的单击事件来实现,您可以

  private void SetSystemTrayIcon()
    {

        System.Windows.Forms.NotifyIcon notifyIcon = new System.Windows.Forms.NotifyIcon
        {
            Icon = new System.Drawing.Icon(sri.Stream),
            Visible = true
        };
        notifyIcon.Click += NotifyIcon_Click;
    }

    private void NotifyIcon_Click(object sender, EventArgs e)
    {
        var mainWindow = Application.Current.Windows[0];
        mainWindow.Show();
    }
我希望这能帮助您

谢谢您的解决方案。:)但我想要的是在用户运行另一个应用程序实例时调用类似的功能,而不是在单击系统托盘中的图标时。