您的位置:首页 > 其它

WPF:窗体置顶

2016-05-10 17:17 344 查看
1、设置窗体TopMost属性

Process process = RuningInstance();
if (process == null)
{
//   process.Kill();
_logger.Info("打开黑板");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmBlackbord());
}

else
{
_logger.Info("激活黑板");
SetForegroundWindow(process.MainWindowHandle);
try
{
int reuslt = 0;
if (IsZhangj != null)
{
switch (args[1])
{
case "-n":
reuslt = HandleRunningInstance(process, "新建文件&" + BlackDataService.NewFilepath);
}

}
else
{
// MessageBox.Show("应用程序已经在运行中。。。");
reuslt = HandleRunningInstance(process, "激活窗口");
}
if (reuslt == 0)
{
//process.Kill();
//_logger.Info("重新打开黑板");

}
}
catch (Exception ex)
{
_logger.Debug(ex.Message + ":" + ex.StackTrace);
}
//System.Threading.Thread.Sleep(1000);
//System.Environment.Exit(1);
}

}

private static Process RuningInstance()
{
Process currentProcess = Process.GetCurrentProcess();
Process[] Processes = Process.GetProcessesByName(currentProcess.ProcessName);
_logger.Info(currentProcess.ProcessName);

foreach (Process process in Processes)
{
if (process.Id != currentProcess.Id)
{
if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == currentProcess.MainModule.FileName)
{

return process;
}
}
}
return null;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: