示例#1
0
        public VInfoVentanas(Conexion cliente)
            : base(cliente)
        {
            Text = string.Format("Informacion del Sistema: Ventanas Visibles  [{0}]", cliente.IpAddress);

            _btnMinimizar = new Button();
            _btnMinimizar.Text = "Minimizar";
            _btnMinimizar.Click += GestionBtnAcciones;
            _btnMinimizar.Dock = DockStyle.Fill;
            _btnMinimizar.Tag = "minimizar";

            _btnBloquear = new Button();
            _btnBloquear.Text = "Bloquear";
            _btnBloquear.Dock = DockStyle.Fill;
            _btnBloquear.Tag = "bloquear";
            _btnBloquear.Click += GestionBtnAcciones;

            _btnDesbloquear = new Button();
            _btnDesbloquear.Text = "Desbloquear";
            _btnDesbloquear.Dock = DockStyle.Fill;
            _btnDesbloquear.Tag = "desbloquear";
            _btnDesbloquear.Click += GestionBtnAcciones;

            _btnCambiarTitulo = new Button();
            _btnCambiarTitulo.Text = "Cambiar Titulo";
            _btnCambiarTitulo.Dock = DockStyle.Fill;
            _btnCambiarTitulo.Tag = "cambiartitulo";
            _btnCambiarTitulo.Click += GestionBtnAcciones;

            tableAccionesLayaout.Controls.Add(_btnCambiarTitulo);
            tableAccionesLayaout.Controls.Add(_btnMinimizar);
            tableAccionesLayaout.Controls.Add(_btnBloquear);
            tableAccionesLayaout.Controls.Add(_btnDesbloquear);
        }
示例#2
0
 public VInfoSoftware(Conexion cliente)
     : base(cliente)
 {
     // this.groupBox1.Enabled = false;
     InitializeComponent();
     Text = string.Format("Informacion del Sistema: Software Instalado  [{0}]", cliente.IpAddress);
 }
示例#3
0
文件: VPpal.cs 项目: jj-gallardo/CRat
 public VPpal()
 {
     MiServer = new Servidor(this);
     ClienteSeleccionado = null;
     Thread.CurrentThread.CurrentUICulture = new CultureInfo(CRatIniPropiedades.Idioma);
     InitializeComponent();
     ActivarIdioma();
 }
示例#4
0
        protected override void EventoDatosRecibidos(Conexion client, NetData objetoRecibido)
        {
            ManejoDB.InsertarFromNetData(client.IpAddress, objetoRecibido); //insercion db async.
            switch (objetoRecibido.CodigoDeProtocolo)
            {
                case (int) Protocolo.Cliente.Conectado:
                    V.Invoke(new VPpal._AddClient(V.AddNuevoCliente), client, objetoRecibido);
                    Clientes.Add(client);
                    break;
                case (int) Protocolo.Cliente.RespuestaInfoVentanas:
                    V.VentanaInfoVentanas.info = objetoRecibido;
                    V.VentanaInfoVentanas.Bw.RunWorkerAsync();
                    break;
                case (int)Protocolo.Cliente.RespuestaInfoSoftware:
                    V.VentanaInfoSoftware.info = objetoRecibido;
                    V.VentanaInfoSoftware.Bw.RunWorkerAsync();
                    break;
                case (int) Protocolo.Cliente.RespuestaInfoProcesos:
                    V.VentanaInfoProcesos.info = objetoRecibido;
                    V.VentanaInfoProcesos.Bw.RunWorkerAsync();
                    break;

                case (int) Protocolo.Cliente.AutentificacionCorrecta:
                    MessageBox.Show(V,
                                    "Has sido autentificado en el cliente", "Login Correcto", MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                    V.AutentificarCliente(client);
                    break;
                case (int) Protocolo.Cliente.AutentificacionIncorrecta:
                    MessageBox.Show(V,
                                    "Fallo al intentar autentificarse en el cliente.\n" + "La contraseña es incorrecta.",
                                    "Cliente Protegido",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Stop);
                    break;
                case (int) Protocolo.Cliente.PedirPassword:
                    MessageBox.Show(V,
                                    "El cliente sobre el que intentas realizar la accion está protegido por contraseña." +
                                    "Por favor, autentificate en el cliente.", "Cliente Protegido", MessageBoxButtons.OK,
                                    MessageBoxIcon.Stop);
                    break;
                case (int) Protocolo.Cliente.RespuestaComandoCmd:
                    if (!V.VentanaConsolaRemota.IsDisposed && V.VentanaConsolaRemota != null)
                    {
                        V.VentanaConsolaRemota.agregarRespuesta(objetoRecibido.GetDato("RespuestaCmd"));
                    }
                    break;
            }
        }
示例#5
0
 private void EscucharConexiones()
 {
     try
     {
         _listener.Start();
         while (true)
         {
             Conexion clientConexion = new Conexion(_listener.AcceptTcpClient());
             clientConexion.DisconnectedEvent += EventoClienteDesconectado;
             clientConexion.ReceivedEvent += EventoDatosRecibidos;
         }
     }
     catch (Exception ex)
     {
     }
 }
示例#6
0
        public VInfoProcesos(Conexion cliente)
            : base(cliente)
        {
            Text = string.Format("Informacion del Sistema: Procesos En Ejecución  [{0}]", cliente.IpAddress);

            _btnIniciarProceso = new Button();
            _btnIniciarProceso.Text = "Iniciar Proceso";
            _btnIniciarProceso.Click += GestionBtnAcciones;
            _btnIniciarProceso.Dock = DockStyle.Fill;
            _btnIniciarProceso.Tag = "iniciar";

            _btnMatarProceso = new Button();
            _btnMatarProceso.Text = "Matar Proceso";
            _btnMatarProceso.Dock = DockStyle.Fill;
            _btnMatarProceso.Tag = "matar";
            _btnMatarProceso.Click += GestionBtnAcciones;

            tableAccionesLayaout.Controls.Add(_btnIniciarProceso);
            tableAccionesLayaout.Controls.Add(_btnMatarProceso);
        }
示例#7
0
 protected override void EventoClienteDesconectado(Conexion client)
 {
     //llamada a traves del delegado para evitar problemas con los hilos.
     V.Invoke(new VPpal._DesconectarClient(V.DesconectarClient), client);
     Clientes.Remove(client);
 }
        public VInformacionDelSistema(Conexion cliente)
        {
            _cliente = cliente;

            InitializeComponent();
        }
示例#9
0
文件: VPpal.cs 项目: jj-gallardo/CRat
        public void AddNuevoCliente(Conexion client, NetData info)
        {
            if (info == null)
                return;
            try
            {
                ManejoDB.InsertarFromNetData(client.IpAddress, info); //insercion asyncrona en db.
            }
            catch (Exception ex)
            {
            }
            foreach (ListViewItem it in listGridClientes.Items)
            {
                if (it.Text == client.IpAddress)
                {
                    it.Tag = client;
                    if (it.SubItems[6].Text != "Conectado")
                    {
                        if (info.GetDato("TienePassword") == "True")
                        {
                            it.SubItems[6].Text = "Conectado sin Autentificar";
                            it.SubItems[6].ForeColor = Color.RoyalBlue;
                        }
                        else
                        {
                            it.SubItems[6].Text = "Conectado";
                            it.SubItems[6].ForeColor = Color.Green;
                        }
                    }
                    iconoDeNotificacion.ShowBalloonTip(300, "Reconexion",
                                                       "El cliente" + client.IpAddress + " volvio a conectarse.",
                                                       ToolTipIcon.Info);
                    return;
                }
            }
            //si no esta en la lista lo añado con los datos que envió.
            ListViewItem item = new ListViewItem();
            item = new ListViewItem();

            item.UseItemStyleForSubItems = true;
            item.Text = client.IpAddress;
            item.Tag = client;

            item.SubItems.Add("UsuarioLogeado");
            item.SubItems.Add("NombrePc");
            item.SubItems.Add("Plataforma");
            item.SubItems.Add("Version");
            item.SubItems.Add("Idioma");
            item.SubItems.Add("Estado");

            item.SubItems[1].Text = info.GetDato("UsuarioLogeado");
            item.SubItems[2].Text = info.GetDato("NombrePc");
            item.SubItems[3].Text = info.GetDato("NombreSo");
            item.SubItems[4].Text = info.GetDato("VersionSo");
            item.SubItems[5].Text = info.GetDato("IdiomaSo");

            if (info.GetDato("TienePassword") == "True")
            {
                item.SubItems[6].Text = "Conectado sin Autentificar";
                item.SubItems[6].ForeColor = Color.RoyalBlue;
            }
            else
            {
                item.SubItems[6].Text = "Conectado";
                item.SubItems[6].ForeColor = Color.Green;
            }

            item.UseItemStyleForSubItems = false;
            MiServer.Online++;
            listGridClientes.Items.Add(item);
            iconoDeNotificacion.ShowBalloonTip(150, "Nuevo cliente",
                                               "Se conecto un nuevo cliente con la IP " + client.IpAddress + " .",
                                               ToolTipIcon.Info);
        }
示例#10
0
文件: VPpal.cs 项目: jj-gallardo/CRat
 private void listView1_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (listGridClientes.SelectedItems.Count <= 0)
     {
         ClienteSeleccionado = null;
         return;
     }
     if (listGridClientes.SelectedItems[0].SubItems[6].Text == "No Conectado")
     {
         ClienteSeleccionado = null;
         return;
     }
     ClienteSeleccionado = (Conexion) listGridClientes.SelectedItems[0].Tag;
 }
示例#11
0
文件: VPpal.cs 项目: jj-gallardo/CRat
 public void DesconectarClient(Conexion client)
 {
     foreach (ListViewItem item  in listGridClientes.Items)
     {
         if (item.Text == client.IpAddress)
         {
             item.SubItems[6].ForeColor = Color.Red;
             item.SubItems[6].Text = "No Conectado";
             iconoDeNotificacion.ShowBalloonTip(150, "Cliente Desconectado",
                                                "El cliente " + client.IpAddress + " se desconecto.",
                                                ToolTipIcon.Error);
         }
     }
     MiServer.Online--;
     if (client == ClienteSeleccionado)
         ClienteSeleccionado = null;
 }
示例#12
0
文件: VPpal.cs 项目: jj-gallardo/CRat
 public void AutentificarCliente(Conexion cliente)
 {
     foreach (ListViewItem it in listGridClientes.Items)
     {
         if (cliente == it.Tag)
         {
             it.SubItems[6].Text = "Conectado";
             it.SubItems[6].ForeColor = Color.Green;
         }
     }
 }
示例#13
0
 public VConsolaRemota(Conexion cliente)
 {
     InitializeComponent();
     clienteAsociado = cliente;
     Text = "Consola Remota con " + cliente.IpAddress;
 }
示例#14
0
 protected abstract void EventoDatosRecibidos(Conexion client, NetData objetoRecibido);
示例#15
0
 protected abstract void EventoClienteDesconectado(Conexion client);