//构造函数 public MainWindow() { InitializeComponent(); WindowHide windowHide = new WindowHide(this); WindowHideManager.GetInstance().windowHideList.Add(windowHide); }
//构造函数 public MainWindow() { InitializeComponent(); viewModel = new MainViewModel(); this.DataContext = viewModel; WindowHide windowHide = new WindowHide(this); WindowHideManager.GetInstance().windowHideList.Add(windowHide); }
//构造函数 public MainWindow() { InitializeComponent(); ThemeManager.Current.ThemeSyncMode = ThemeSyncMode.SyncWithAppMode; ThemeManager.Current.SyncTheme(); viewModel = new MainViewModel(); this.DataContext = viewModel; WindowHide windowHide = new WindowHide(this); WindowHideManager.GetInstance().windowHideList.Add(windowHide); }
public void Hide() { if (visible && modal) { app.SceneManager.PopModalStack(); } visible = false; OnHide(); if (WindowHide != null) { WindowHide.Invoke(this, new EventArgs()); } }
/// <summary> /// 当前应用程序关闭时,注销该用户 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void Current_Exit(object sender, ExitEventArgs e) { try { if (this.loginWindow != null) { this.loginWindow.Close(); } //设置DNS NetWorkAdapter.SetNetworkAdapter(Constant.RouteIp); //退出lync辅助 LyncHelper.LyncSignOut(new Action(() => { if (LyncHelper.MainConversation != null) { ModelManage.ConferenceLyncConversation.RemoveConversation(Constant.ConferenceName, new Action <bool>((successed) => { })); //设置DNS //NetWorkAdapter.EnableDHCP2(); //Conference.View.Tree.ConferenceTreeView.TittleEditControlTimer.Stop(); //Conference.View.IMM.ConferenceAudio_View.TittleEditControlTimer.Stop(); //LyncClient.GetAutomation().EndMeetNow(null); LyncHelper.MainConversation.Close(); } })); //系统关闭辅助 Current_Exit_Help(); } catch (Exception ex) { LogManage.WriteLog(typeof(App), ex); } finally { //关闭指定后台进程 ProcessManage.KillProcess("Lync"); //lync临时显示 WindowHide.SetTrayIconAllDsiplay("Lync"); //消除死亡托盘图标 SysTray.Refresh(); } }
/// <summary> /// lync程序环境设置(事件、状态、原生态界面抑制、注册表、标示) /// </summary> public static void SetLyncAplicationEnviroment(Action containCompleateCallBack) { try { //获取lync进程 Process[] processes = Process.GetProcessesByName("Lync"); if (processes.Count() > 0) { IntPtr handle = ProcessManage.GetMainWindowHandle(processes[0]); if (handle.ToInt32() > 0) { //获取LYNC客户端 Constant.lyncClient = LyncClient.GetClient(); if (Constant.lyncClient != null) { #region 注册Lync事件 //lync状态更改事件 Constant.lyncClient.StateChanged += lyncClient_StateChanged; #endregion #region lync初始化 //首先将捕获到的lync实例进行一次初始化加载 if (Constant.lyncClient.State == ClientState.Uninitialized) { //lync客户端初始化 Constant.lyncClient.BeginInitialize(null, null); } //签入 if (Constant.lyncClient.State == ClientState.SigningIn || Constant.lyncClient.State == ClientState.SignedIn) { //先签出(lync控制) Constant.lyncClient.BeginSignOut(null, null); } if (Constant.lyncClient.State == ClientState.SignedOut) { //可以签入 MainWindow.CanSigined = true; } #endregion #region 程序相关设置 WindowHide.SetTrayIconVisible("Lync", false); ////将lync的原生态的主窗体封装起来 APPContainManage.APP_Conatain(handle); containCompleateCallBack(); #endregion } } else { LyncHelper.SetLyncAplicationEnviroment(containCompleateCallBack); } } else { LyncHelper.SetLyncAplicationEnviroment(containCompleateCallBack); } } catch (Exception ex) { LogManage.WriteLog(typeof(LyncHelper), ex); } finally { } }
/// <summary> /// 登录初始化配置(lync相关) /// </summary> private void LoginEnviromentInit_Lync() { try { //关闭指定后台进程 ProcessManage.KillProcess("Lync"); //lync临时显示 WindowHide.SetTrayIconAllDsiplay("Lync"); //消除死亡托盘图标 SysTray.Refresh(); //判断当前进程是否为单例 ProcessManage.CheckCurrentProcessIsSingleInstance(new Action(() => { MessageBox.Show("该程序已经在运行中", "操作提示", MessageBoxButton.OK, MessageBoxImage.Information); //关闭程序 Application.Current.Shutdown(0); })); //更改lync注册表 RegeditManage.UpdateLyncRegedit(); //获取lync进程 Process[] processs = Process.GetProcessesByName("Lync"); if (processs.Count() > 0) { //清除lyncApp缓存文件 LyncManage.ClearLyncAppData(); } //打开lync实例 RegeditManage.OpenAplicationByRegedit2("Lync.exe"); //程序退出时释放lync实例 Application.Current.Exit += Current_Exit; #region old solution //验证是否能够访问AD (adpppds) //if (!DetectionManage.TestNetConnectity(Constant.TreeServiceIP)) //{ // MessageBox.Show("服务器连接失败,请及时联系管理员", "操作提示", MessageBoxButton.OK, MessageBoxImage.Information); // //关闭程序 // Application.Current.Shutdown(0); //} ////关闭指定后台进程 //ProcessManage.KillProcess("Lync"); ////lync临时显示 //WindowHide.SetTrayIconAllDsiplay("Lync"); #endregion } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } }
//构造函数 public MainWindow() { InitializeComponent(); WindowHide windowHide = new WindowHide(this); }