Example #1
0
        /// <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();
        }