elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6
1  Programación / .NET (C#, VB.NET, ASP) / Re: UAC en VB.NET en: 9 Marzo 2012, 17:24 pm
Podrías generar otro proceso que ejecute la acción con privilegios, y al presionar el boton lo mandas a llamar, para iniciar un proceso con privilegios usa System.Diagnostics.Process

aquí esta un ejemplo donde fileName es el nombre de la aplicación que realiza la acción elevada

Código
  1.    ProcessStartInfo processInfo = new ProcessStartInfo()
  2.    processInfo.Verb = "runas"
  3.    processInfo.FileName = fileName
  4.    Process.Start(processInfo)
  5.  
  6.  
2  Programación / .NET (C#, VB.NET, ASP) / Re: [C#] Thread dentro de un objeto en: 9 Marzo 2012, 17:14 pm
Estas creando los objetos desde tu Main thread y estas tratando de accederlos desde el thread que tu creaste, esto podría ser el error, que Framework utilizas??
3  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda al copiar de un textbox. !! C# en: 14 Mayo 2010, 20:19 pm
Bueno, al parecer el error esta aqui:

Al crear una nueva instancia de la clase Interfaz_NuevoEmail, myListBox esta con valor null, entonces en esta parte del codigo no le asignas nada a myListBox

Código
  1.  
  2.        private void button_AañadirEmail_Click(object sender, EventArgs e)
  3.        {
  4.            Interfaz_NuevoEmail interfazNuevoEmail = new Interfaz_NuevoEmail();
  5.            'Aqui faltaria interfazNuevoEmail.myListBox = listBox_Email
  6.            interfazNuevoEmail.Show();
  7.        }
  8.  
  9.  

Por curiosidad por que creas una instancia del Interfaz_NuevoEmail en el constructor?
4  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda al copiar de un textbox. !! C# en: 14 Mayo 2010, 15:36 pm
Asi tal y como lo puso D4N93R, declaras tu miembro privado y accedes a el desde la propiedad:

Código
  1. private Listbox m_myListBox;
  2.  
  3. public ListBox MyListBox
  4. {
  5.     set { m_myListBox = value; }
  6.     get { return m_myListBox; }
  7.  
  8. }
  9.  

lo de la referencia nula te lo marca por que MyListBox tiene el valor Null y no esta asociada con ninguna instancia, pero no se exactamente donde este el problema recien lo probe y me funciono bien, tal ves si pones la parte de tu codigo para checarlo podemos verificar que esta mal.

Por que no colocas un punto de interrupcion en donde asignas el Listbox al miembro publico o a la propiedad, y checas los valores de las variables hasta ese momento y vas ejecutando paso por paso para ver por que se queda tu objeto como null.

5  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda al copiar de un textbox. !! C# en: 13 Mayo 2010, 15:52 pm
Bueno pues volviendo un poco al tema, con respecto a el problema de Hartigan parece que lo que se necesita es una variable publica en el formulario 2 para que haga referencia al listbox del formulario 1

Bueno yo lo haria asi:

Dentro de la clase de mi formulario 2 se declara una variable publica del tipo ListBox:

Código
  1. public ListBox MyList;
  2.  

Despues al instanciar el formulario 2 desde el formulario 1 hacemos esto para asignarla:

Código
  1. Form2 frmNombres = new Form2();
  2. frmNombres.MyList = listBox1;
  3. frmNombres.Show();
  4.  

Donde el ListBox1 es donde se quieren agregar los nombres.

Y ya en el codigo del boton que agrega el nombre en el formulario 2 hacemos esto:

Código
  1.        private void button1_Click(object sender, EventArgs e)
  2.        {
  3.            MyList.Items.Add(textBox1.Text);
  4.        }
  5.  


En teoria debe de funcionar, lo que se hace es pasar el objeto listbox del form 1 como referencia al  form 2 mediante una variable publica, al momento de asignarlo son 2 variables de distintas clases que hacen referencia al mismo objeto, ya que jamas creas la instancia nueva con "new", al agregar los nombres desde el form2 debera aparecer en el listbox del form 1.

Nota: Si nunca haces la asignacion frmNombres.MyList = listBox1 tendras un error de referencia nula.

Saludos.
6  Programación / .NET (C#, VB.NET, ASP) / Re: TextBox mover cursor a la ultima linea en: 3 Mayo 2010, 19:16 pm
A ver si esto te sirve:

Código
  1.        TextBox2.SelectionStart = TextBox2.Text.Length - 1
  2.        TextBox2.Focus()
  3.        TextBox2.ScrollToCaret()

Suerte!!
7  Programación / .NET (C#, VB.NET, ASP) / Re: [C#] Identificar cuando una aplicación externa es cerrada. en: 3 Mayo 2010, 17:12 pm
Una de las opciones es utilizar un timer para verificar el proceso cada determinado tiempo, yo personalmente lo haria haciendo uso del Process y generar un evento para cuando el programa termine,  todo esto dentro de un threadPool para verificar multiples procesos si es necesario, en este codigo solo utilizo la primera coincidencia de la matriz GetProcessByName, pero si haces un foreach y con el treadPool puedes verificar todos los procesos del mismo nombre y aplicar el "Monitor" a cada uno de ellos.

Espero te funcione correctamente (yo lo corri sin problemas ;-) ).

Solo tengo un form un textbox y un button, hay que agregar las referencias System.Threading y System.Diagnostics.

Código
  1. using System;
  2. using System.ComponentModel;
  3. using System.Windows.Forms;
  4. using System.Threading;
  5. using System.Diagnostics;
  6.  
  7. namespace WindowsFormsApplication1
  8. {
  9.    //Declaramos el delegado para nuestro evento
  10.    public delegate void ProccesClosed(string ProcName);
  11.  
  12.    public partial class Form1 : Form
  13.    {
  14.        //Declaro una variable global para el nombre del proceso
  15.        public string ProcName;
  16.  
  17.        //Declaro mi evento nuevo, verifica que el IDE te asocie el
  18.        //evento con el delegado (Aparece coloreado en azul claro)
  19.        //lo digo por que no se que hice mal que a mi no me lo asocio a la primera
  20.        public  event ProccesClosed  ProcClosed;
  21.  
  22.        public Form1()
  23.        {
  24.            InitializeComponent();
  25.            //Agregamos el handler del evento
  26.            this.ProcClosed += new ProccesClosed(ProcesoTerminado);
  27.        }
  28.  
  29.        //Aqui la funcion que cargaremos en el hilo(thread) para verificar
  30.        //Que el proceso termine, todos los parametros deben ser del tipo Object
  31.        public void VerificarProceso(object  NombreProceso)
  32.        {
  33.            //Declaro la matriz de procesos y la lleno con los procesos que
  34.            //tengan el nombre casteando mi objeto como string
  35.            Process[] Proc;
  36.            Proc = Process.GetProcessesByName((string)NombreProceso);
  37.            //Verificamos que exista al menos una coincidencia, si no
  38.            //obtendriamos exepcion de referencia nula
  39.            if (Proc.Length != 0)
  40.            {
  41.                //Solo verifico la primera coincidencia
  42.                Proc[0].WaitForExit();
  43.                //Verificamos que el evento contenga el handler
  44.                if (ProcClosed != null)
  45.                    //se desencadena el evento
  46.                    ProcClosed((string)NombreProceso);
  47.            }
  48.            else
  49.                //En caso de que no exista dicho proceso
  50.                MessageBox.Show("No existe el proceso " + (string)NombreProceso);
  51.  
  52.        }
  53.  
  54.        //Esta es la funcion que llama el evento ProcClosed
  55.        public void ProcesoTerminado(string NombreProcesso)
  56.        {
  57.            MessageBox.Show("Se ha terminado el proceso " + NombreProcesso);
  58.        }
  59.  
  60.        private void button1_Click(object sender, EventArgs e)
  61.        {
  62.            ProcName = textBox1.Text;
  63.            //Agregamos La funcion al ThreadPool, podemos agregar cuantas
  64.            //queramos monitoreando procesos distintos
  65.            ThreadPool.QueueUserWorkItem(VerificarProceso, ProcName );
  66.        }
  67.  
  68.    }
  69. }
  70.  

Solo bastaria ejecutar y colocar en el textbox el nombre de un proceso sin la extension, como por ejemplo "notepad" o "calc", y cada thread desencadenara el evento cuando termine el proceso.

Cualquier error haganmelo saber

Suerte
8  Programación / .NET (C#, VB.NET, ASP) / Re: Crear un sistema de plug-Ings y scripts en mi aplicacion en: 27 Abril 2010, 15:59 pm
Hace poco tuve que hacer algo semejante, sinceramente este es un tema que me falta dominar, no es exactamente lo que necesitas , pero tal vez te sirva de algo como ejemplo, la intencion cuando hice esto fue tener controles personalizados con una funcion en especifico, como establecer automaticamente un papel tapiz de acuerdo a la hora, otro control que accesara a datos y presentara un registro de varios usuarios, etc... la especificacion para este proyecto fue que fuera posible que la aplicacion una vez ya implementada fuera posible actualizar las librerias que contienen los controles y agregar mas, asi que utilize este codigo, el cual ya lo tengo publicado en un blog, no se que tan correcto sea hacerlo asi, ya que he leido que lo mejor es cargar los ensamblados en nuevos dominios de aplicacion, pero asi resolvi esto en su momento, espero te sirva de algo.

Para empezar cree un nuevo proyecto de libreria de clases y como medida para estandarizar los nombres de los controles y los nombres de archivo sor los mismos, esto es por que hay que especificar el nombre de la clase que esta dentro del ensamblado (dll) de la cual deseas intanciar un objeto, y pues aqui como todo es dinamico, el intellisense no ayuda.

Asi que cree mi control y posteriormente lo genere, puse esta dll en el mismo directorio de mi aplicacion principal.

Entonces en mi aplicacion principal que seria la que carga los "plug-ins" le agrege esta funcion, si no me equivoco es necesaria la referencia System.Reflection

Código
  1. Public Sub AddAssembly(ByVal Path As String)
  2.  
  3. 'Declaro mi objeto del tipo Assembly, y cargo el fichero
  4. 'El cual es el path donde se ubica mi dll
  5. Dim MyAssembly As Assembly = Assembly.LoadFile(Path)
  6.  
  7. 'Como el nombre de mi control, mi ensamblado y mi clase son iguales
  8. 'la referencia para un control instanciado de la clase MyControl seria
  9. 'MyControl.MyControl asi que aqui simplemente extraigo el nombre de mi
  10. 'archivo sin la extension, se vera algo rudimentario pero funciona :)
  11. Dim sClase As String = MyAssembly.ManifestModule.Name.Split(CChar("."))(0)
  12.  
  13. 'Aqui obtengo la definicion del tipo de dato que tengo en mi Dll
  14. Dim MyExtType As Type = MyAssembly.GetType(sClase & "." & sClase)
  15.  
  16. 'Entonces creo la instancia nueva de acuerdo al tipo de dato obtenido
  17. 'la almaceno en mi objeto tipo object
  18. Dim MyExtObj As Object = Activator.CreateInstance(MyExtType)
  19.  
  20. 'Creo mi tabPage
  21. Dim NewTabPage As New TabPage
  22.  
  23. 'Aqui convierto mi objeto a control, probablemente esto deberia ir en
  24. 'un try catch para obtener alguna exepcion, por ejemplo que la DLL no contenga
  25. 'controles, entonces mi objeto no seria "casteable" a "control"
  26. Dim MyControl As Control = CType(MyExtObj, Control)
  27.  
  28. 'Agrego el nuevo control creado a mi TabPage
  29. NewTabPage.Controls.Add(MyControl)
  30.  
  31. 'Agrego el nuevo TabPage a mi TabControl
  32. form.TabControl1.TabPages.Add(NewTabPage)
  33.  
  34. End Sub

Entonces con un for each  obtuve cada dll de un directorio e intente convertirlo a "control" para agregar cada dll en un tab page nuevo.

El unico problema de esto es que una vez cargado un ensamblado no se puede descargar a menos de que crees un AppDomain para cargarlo ahi y despues descargar el AppDomain. 

Espero esto te de un idea de como hacer tu sistema, y si algo esta mal acepto criticas.

Saludos
9  Programación / .NET (C#, VB.NET, ASP) / Re: conectar base de datos con visual 2008 en: 23 Abril 2010, 23:22 pm
Que extraño que no te abra, ya lo cheque y esta correcto (tal vez con click derecho y luego "guardar enlace como"), te dejo un enlace de easy share, ojala este si sirva:

http://www.easy-share.com/1908108750/Tutorial-Enlazar-Bases-de-datos-desde-Cero-3-capas.pdf
10  Programación / .NET (C#, VB.NET, ASP) / Re: conectar base de datos con visual 2008 en: 23 Abril 2010, 22:57 pm
Tal vez este manual te sirva amigo:

http://s2.sigmirror.com/files/70789_pnfyx/Tutorial-Enlazar-Bases-de-datos-desde-Cero-3-capas.pdf

Suerte!!
Páginas: [1] 2 3 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines