我使用Hardcodet.Wpf.TaskbarNotification创建托盘菜单,但是我遇到了一些问题,如果它隐藏到托盘,如何从其他进程打开我的应用程序(进程)
我用过这种方法,但运气不好
[DllImport("user32.dll")]
static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
public static extern IntPtr SetFocus(HandleRef hWnd);
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int cmd);
我已将事件Activated
添加到MainWindow
,将GotFocus
,Loaded
添加到TaskbarIcon
(TaskBar WPF元素),但这些方法(来自user32) )没有触发任何事件(它在应用程序最小化时起作用,但在隐藏到托盘时不起作用)
有什么想法我需要做什么?
更新
它没有重复,有描述如何在原始帖子中使用Mutex,我已经完成了。我需要"当第一个实例在托盘中时,从我应用的其他实例激活或触发任何事件当第二个实例创建时,只显示MessageBox
,第一个实例实例最小化,该帖子很容易做,我的任务比原始帖子中描述的更难,