Esempio n. 1
0
        private static void Incoming(object Guest)
        {
            currentSession.Resume();
            IRDPSRAPIAttendee MyGuest = (IRDPSRAPIAttendee)Guest;

            MyGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_MAX;
        }
Esempio n. 2
0
        private void Incoming(object Guest)
        {
            IRDPSRAPIAttendee MyGuest = (IRDPSRAPIAttendee)Guest;

            MyGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_INTERACTIVE;
            //MyGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_VIEW;
        }
        /**
         * This is called whenever a Guru connects to this RDP session (see StartRDPSession)
         */
        private void OnGuruConnect(object attendee)
        {
            IRDPSRAPIAttendee guru = attendee as IRDPSRAPIAttendee;

            guru.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_INTERACTIVE;
            Console.WriteLine("The Guru now has control!");
        }
Esempio n. 4
0
        private void Incoming(object Guest)
        {
            IRDPSRAPIAttendee MyGuest = (IRDPSRAPIAttendee)Guest;

            MyGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_MAX;
            RDPSRAPITcpConnectionInfo info = (RDPSRAPITcpConnectionInfo)MyGuest.ConnectivityInfo;

            AxEventHandler <RemoteServerIncomingConnectionEventArgs> handler = this.IncomingConnection;

            if (handler != null)
            {
                handler(new RemoteServerIncomingConnectionEventArgs(new SharpViewCore.RemoteConnectionInfo(info.LocalIP, info.PeerIP, info.LocalPort, info.PeerPort, info.Protocol)));
            }

            this.Guests.Add(new RemoteDesktopGuest(MyGuest.ConnectivityInfo, MyGuest.RemoteName, MyGuest.Id, MyGuest.Flags, MyGuest.Invitation)
            {
                ControlLevel = MyGuest.ControlLevel
            });

            if (this.StartApplicationsOnConnect)
            {
                for (int i = 0; i < Applications.Count; i++)
                {
                    Process.Start(this.Applications[i]);
                }
            }
        }
        private void OnAttendeeConnected(object pObjAttendee)
        {
            IRDPSRAPIAttendee pAttendee = pObjAttendee as IRDPSRAPIAttendee;

            pAttendee.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_VIEW;
            //LogTextBox.Text += ("Attendee Connected: " + pAttendee.RemoteName + Environment.NewLine); DBYE YAZ
        }
Esempio n. 6
0
        private void _rdpSession_OnAttendeeConnected(object pObjAttendee)
        {
            IRDPSRAPIAttendee pAttendee = pObjAttendee as IRDPSRAPIAttendee;

            pAttendee.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_VIEW;
            //_rdpSession.Resume();
            Console.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + ":" + pAttendee.Id + "," + pAttendee.RemoteName + ":有用户连接成功!");
        }
Esempio n. 7
0
            public static UserData FromAttendee(IRDPSRAPIAttendee attendee)
            {
                if (attendee == null)
                {
                    throw new ArgumentNullException("attendee");
                }

                // get the attendee's invitation
                var invitation = attendee.Invitation;

                try
                {
                    // find the user data that corresponds to the given connection string
                    UserData data;
                    lock (dataLock)
                        if (!byConnectionString.TryGetValue(invitation.ConnectionString, out data))
                        {
                            return(null);
                        }

                    // remove a pending connection or ensure the attendee is connected
                    PendingConnection pendingConnection;
                    lock (data.connectionLock)
                    {
                        if (!data.pendingConnections.TryGetValue(attendee.RemoteName, out pendingConnection))
                        {
                            return(data.connectedAttendeeIds.Contains(attendee.Id) ? data : null);
                        }
                        data.pendingConnections.Remove(attendee.RemoteName);
                        data.connectedAttendeeIds.Add(attendee.Id);
                    }
                    pendingConnection.TimeoutTimer.Dispose();

                    // set the initial control level
                    if (pendingConnection.InitialControlLevel != CTRL_LEVEL.CTRL_LEVEL_INVALID)
                    {
                        attendee.ControlLevel = pendingConnection.InitialControlLevel;
                    }

                    // enable all virtual channels
                    IRDPSRAPIVirtualChannel[] channels;
                    lock (data.grantedVirtualChannels)
                    {
                        channels = new IRDPSRAPIVirtualChannel[data.grantedVirtualChannels.Values.Count];
                        data.grantedVirtualChannels.Values.CopyTo(channels, 0);
                    }
                    foreach (var channel in channels)
                    {
                        try { channel.SetAccess(attendee.Id, CHANNEL_ACCESS_ENUM.CHANNEL_ACCESS_ENUM_SENDRECEIVE); }
                        catch { }
                    }

                    // return the data
                    return(data);
                }
                finally { Marshal.ReleaseComObject(invitation); }
            }
Esempio n. 8
0
        private static void incomingView(object Guest)
        {
            countViewClient++;

            IRDPSRAPIAttendee MyGuest = (IRDPSRAPIAttendee)Guest;

            MyGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_VIEW;

            Console.WriteLine("connected with view: " + countViewClient);
        }
Esempio n. 9
0
        private static void incomingControl(object Guest)
        {
            countControlClient++;

            IRDPSRAPIAttendee MyGuest = (IRDPSRAPIAttendee)Guest;

            MyGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_INTERACTIVE;

            Console.WriteLine("connected with control: " + countControlClient);
        }
Esempio n. 10
0
        private void RdpSessionOnOnAttendeeConnected(object pObjAttendee)
        {
            IRDPSRAPIAttendee pAttendee = pObjAttendee as IRDPSRAPIAttendee;

            pAttendee.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_VIEW;
            Debug.WriteLine("Attendee Connected: " + pAttendee.RemoteName + Environment.NewLine);

            _attendees.Add(pAttendee.RemoteName);

            lblMessage.Invoke(new Action(UpdateList));
        }
Esempio n. 11
0
        private void RdpSessionOnOnAttendeeConnected(object pObjAttendee)
        {
            //获取用户实例
            IRDPSRAPIAttendee pAttendee = pObjAttendee as IRDPSRAPIAttendee;

            pAttendee.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_INTERACTIVE;
            this._hostCaster.KillSendTask();
            this.lb_State.Visible = true;
            Debug.WriteLine("连接成功:" + pAttendee.RemoteName + Environment.NewLine);
            this._attendee = pAttendee;
        }
Esempio n. 12
0
        private void _rdpSession_OnAttendeeDisconnected(object pDisconnectInfo)
        {
            IRDPSRAPIAttendeeDisconnectInfo pinfo = pDisconnectInfo as IRDPSRAPIAttendeeDisconnectInfo;

            if (pinfo == null)
            {
                return;
            }

            IRDPSRAPIAttendee p = pinfo.Attendee;

            Console.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + ":" + p.Id + "," + p.RemoteName + "," + p.ControlLevel + "," + pinfo.Code + "," + pinfo.Reason + ":断开连接!");
        }
Esempio n. 13
0
        private void OnAttendeeConnected(object pObjAttendee)
        {
            _networkConnection = true;
            //textBox2.AppendText(Environment.NewLine + pObjAttendee.ToString());
            IRDPSRAPIAttendee pAttendee = pObjAttendee as IRDPSRAPIAttendee;


            //MessagesClass propTest = new MessagesClass();



            //OnControlLevelChangeRequest(pObjAttendee, CTRL_LEVEL.CTRL_LEVEL_VIEW);

            //if (_networkConnection == true)
            //{


            NetworkComms.AppendGlobalIncomingPacketHandler <string>("CtrlLvl", HandleIncomingCtrlLvlPacket);



            //if (_checkSwitch == false)
            //    {
            //        OnControlLevelChangeRequest(pObjAttendee, CTRL_LEVEL.CTRL_LEVEL_VIEW);
            //propTest.sendMessages("CTRL_LEVEL_VIEWONLY");
            //propTest.sendMessages("CTRL_LEVEL_NORMAL");

            //    }
            //else
            //{

            //MessagesClass propTest = new MessagesClass();

            //    propTest.sendMessages("CTRL_LEVEL_VIEWONLY");


            //}

            //}



            //pAttendee.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_VIEW;
            textBox1.AppendText(Environment.NewLine + pAttendee.ControlLevel.ToString());
            textBox2.AppendText(pAttendee.RemoteName + Environment.NewLine);
            //textBox2.AppendText(Environment.NewLine + pAttendee.RemoteName..ConnectivityInfo.ToString());
            //LogTextBox.Text += ("Attendee Connected: " + pAttendee.RemoteName + Environment.NewLine);
            LogTextBox.AppendText("Attendee Connected: " + pAttendee.RemoteName + Environment.NewLine);
        }
Esempio n. 14
0
            public bool DestroyAttendee(IRDPSRAPIAttendee attendee)
            {
                if (attendee == null)
                {
                    throw new ArgumentNullException("attendee");
                }

                // either remove a pending or established connction
                PendingConnection pendingConnection;

                lock (connectionLock)
                {
                    if (!pendingConnections.TryGetValue(attendee.RemoteName, out pendingConnection))
                    {
                        return(connectedAttendeeIds.Remove(attendee.Id));
                    }
                    pendingConnections.Remove(attendee.RemoteName);
                }
                pendingConnection.TimeoutTimer.Dispose();
                return(true);
            }
        private static void incomingControl(object Guest)
        {
            countControlClient++;

            IRDPSRAPIAttendee MyGuest = ( IRDPSRAPIAttendee )Guest;

            MyGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_INTERACTIVE;


            /*
             * CResolution res1 = new CResolution();
             * DEVMODE1 dm1 = res1.getCurrentResolution();
             * DEVMODE1 dm2 = res1.getSupportedResolutionList()[0];
             *
             * //String a = Console.ReadLine();
             * res1.setSupportedResolution(dm2);
             * res1.setSupportedResolution(dm1);
             * //String abn = Console.ReadLine();
             * */


            // Console.WriteLine("connected with control: " + countControlClient);
        }
Esempio n. 16
0
        void OnControlLevelChangeRequest(object pObjAttendee, CTRL_LEVEL RequestedLevel)
        {
            IRDPSRAPIAttendee pAttendee = pObjAttendee as IRDPSRAPIAttendee;

            //pAttendee.ControlLevel = RequestedLevel;
            //textBox1.AppendText(RequestedLevel.ToString() + Environment.NewLine);
            //textBox1.AppendText(Environment.NewLine + RequestedLevel.ToString());
            //BinaryWriter
            //System.Net.Sockets.SendPacketsElement test = new S;
            //System.Net.Sockets.NetworkStream Test;
            //IRDPSRAPITransportStream.WriteBuffer.ToString();
            //IRDPSRAPITransportStream.WriteBuffer(RDPCOMAPILib.RDPTransportStreamBuffer)
            //if (_checkSwitch == true)
            if (checkBox1.Checked == true)
            {
                pAttendee.ControlLevel = RequestedLevel;
                textBox1.AppendText(Environment.NewLine + RequestedLevel.ToString());
            }
            else
            {
                pAttendee.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_VIEW;
                textBox1.AppendText(Environment.NewLine + RequestedLevel.ToString());
            }
        }
Esempio n. 17
0
        public void ChangeControl(object Client, CTRL_LEVEL level)
        {
            IRDPSRAPIAttendee attendee = (IRDPSRAPIAttendee)Client;

            attendee.ControlLevel = level;
        }
        void OnControlLevelChangeRequest(object pObjAttendee, CTRL_LEVEL RequestedLevel)
        {
            IRDPSRAPIAttendee pAttendee = pObjAttendee as IRDPSRAPIAttendee;

            pAttendee.ControlLevel = RequestedLevel;
        }
Esempio n. 19
0
        public static void Incoming(object guest)
        {
            IRDPSRAPIAttendee MyGuest = (IRDPSRAPIAttendee)guest;

            MyGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_INTERACTIVE;
        }
Esempio n. 20
0
        private static void Incoming(object Guest)
        {
            IRDPSRAPIAttendee MyGuest = (IRDPSRAPIAttendee)Guest;

            MyGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_MAX;
        }
Esempio n. 21
0
        /**
         * (see StartRDPSession) this whole method may not be needed
         */
        private void OnGuruChangeControlLevel(object attendee, CTRL_LEVEL level)
        {
            IRDPSRAPIAttendee guru = attendee as IRDPSRAPIAttendee;

            guru.ControlLevel = level;
        }
Esempio n. 22
0
        private void Incoming(object partner)
        {
            IRDPSRAPIAttendee myGuest = (IRDPSRAPIAttendee)partner;

            myGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_INTERACTIVE;
        }
Esempio n. 23
0
        private void RdpSessionOnOnControlLevelChangeRequest(object pObjAttendee, CTRL_LEVEL RequestedLevel)
        {
            IRDPSRAPIAttendee pAttendee = pObjAttendee as IRDPSRAPIAttendee;

            Console.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + ":" + pAttendee.Id + "," + pAttendee.RemoteName + ":请求更好权限。");
        }
Esempio n. 24
0
        private void ControlLevelChange(Object client, CTRL_LEVEL RequestedLevel)
        {
            IRDPSRAPIAttendee Client = (IRDPSRAPIAttendee)client;

            Client.ControlLevel = RequestedLevel;
        }
Esempio n. 25
0
        private void OpenSession(Object client)
        {
            IRDPSRAPIAttendee Client = (IRDPSRAPIAttendee)client;

            Client.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_MAX;
        }
Esempio n. 26
0
        public void Incoming(object Guest)
        {
            IRDPSRAPIAttendee viewer = (IRDPSRAPIAttendee)Guest;

            viewer.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_VIEW;
        }
Esempio n. 27
0
        private void OnAttendeeConnected(object pObjAttendee)
        {
            IRDPSRAPIAttendee pAttendee = pObjAttendee as IRDPSRAPIAttendee;

            pAttendee.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_INTERACTIVE;
        }
Esempio n. 28
0
        private static void Incoming(object Client)
        {
            IRDPSRAPIAttendee newClient = (IRDPSRAPIAttendee)Client;

            newClient.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_VIEW;
        }