codereview上的帖子
https://codereview.stackexchange.com/questions/20871/single-instance-wpf-application
使用这个方式发现调试的时候怎么试都好使,但是脱离VS后重复启动程序时之前被启动的应用不会自动激活
经过尝试在重复启动时先把窗体最小化在正常化然后在激活就完美解决了
代码如下
public bool SignalExternalCommandLineArgs(IList<string> args) { Window curWindow = this.Windows.FindFirst() as Window; if (null != curWindow) { curWindow.WindowState = WindowState.Minimized; curWindow.WindowState = WindowState.Normal; curWindow.Activate(); } return true; }