/// <summary> /// This function is called by the Sharer whenever he wants to start a share session on the server. /// </summary> /// <param name="windowHandle"></param> public void StartShareSession(Client.ShareEventArgs e) { // Start mousemonitor MouseMonitor = new MouseMonitor(WindowHandle, 10); MouseMonitor.MouseMovedWithinSharedWindow += MouseMonitor_MouseMovedWithinSharedWindow; MouseMonitor.Start(); //// Start Overlay //Thread mThread = new Thread(() => // { // MouseWindow = new MouseDisplay(); // MouseMonitor.SharedWindowChanged += MouseWindow.SharedWindowChanged; // MouseWindow.Add(e.Packet.User.UserID, // e.Packet.User.FirstName + " " + e.Packet.User.LastName.Substring(0, 1)); // MouseWindow.Show(); // while (true) // { // Thread.Sleep(9999999); // } // }); //mThread.SetApartmentState(ApartmentState.STA); //mThread.Start(); ////mThread.Join(); _dispatcher.BeginInvoke(new Action(() => { MouseWindow = new MouseDisplay(); MouseMonitor.SharedWindowChanged += MouseWindow.SharedWindowChanged; MouseWindow.Add(e.Packet.User.UserID, e.Packet.User.FirstName + " " + e.Packet.User.LastName.Substring(0, 1)); MouseWindow.Show(); })); // Start capure timer StartShare(); }