读书人

WPF统制只能打开一个相同的窗口/界面

发布时间: 2013-08-10 21:14:06 作者: rapoo

WPF控制只能打开一个相同的窗口/界面
怎么样才能控制到只能打开一个相同的窗口/界面/程序呢.?
即.我有一个程序集,只有一个窗口.. 而且打开后会隐藏的,缩到右下角..(Watcher)
我想如果已经打开了一个Watcher,则再次打开的话. 不会打开2个..
而是直接return或者其他方式去终止第二打开的相同窗口..

思路的话. 我是觉得应该判断是否已经打开了该窗口.. 如果是:则终止,如果不是:则打开..

但我不知道怎么判断一个窗口是否已经打开了...

求大神给份代码研究下..

PS: 不允许相同的窗口/界面/程序重复打开. WPF 界面
[解决办法]
可以使用互斥量Mutex,具体参考:http://www.cnblogs.com/zhili/p/OnlyInstance.html
[解决办法]


// 进程互斥
private System.Threading.Mutex myMutex = null;

private void Window_Loaded(object sender, RoutedEventArgs e)
{
// 禁止同时打开2个
bool mutexIsNew = false;
try
{
myMutex = new System.Threading.Mutex(true, configs.ID, out mutexIsNew);
}
catch { }
if (!mutexIsNew)
{
if (configs.logsEnable) { launchLog.addLog(@"主程序多次打开,不重复启动。"); }
this.Close();
}

读书人网 >C#

热点推荐