elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:27  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  AutoRemoveX by WHK + SourceCode
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AutoRemoveX by WHK + SourceCode  (Leído 961 veces)
WHK
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
AutoRemoveX by WHK + SourceCode
« en: 12 Enero 2011, 23:55 »

AutoRemoveX

Descarga binario
Descarga código fuente en VB.NET 2005

AutoRemoveX es un software que realiza tareas de forma automatizada cargando cada instrucción de una base de datos hecha en formato XML.

Uso
  • Abra el Software.
  • Presione el botón "Escanear"
  • Seleccione las tareas a ejecutar del listado de items detectados. Para ver el detalle de cada tarea puede hacer clic sobre ella.
  • Presione el botón "Ejecutar"





El software funciona en base al lenguaje Perl pero usted no necesita instalar el software ya que AutoRemoveX trae incorporado el interpretador que se descomprimirá solamente la primera vez de su uso.

Para realizar esto lo que hace el software es descomprimir el interpretador dentro de su directorio de usuario %homepath%\.autoremovex\

Si desea volver a instalar cada componente debe eliminar por completo el directorio y AutoRemoveX se encargará de reconstruir todo nuevamente.


Base de datos
AutoRemoveX cargará de forma automática todos los archivos que se encuentren dentro del directorio ./db y sus subdirectorios con extensión .xml
La estructura debe ser la siguiente:


Código
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Base de datos para AutoRemoveX
Última modificación: Lunes 10 de Enero del 2010 a las 2:30AM
Notas:
* Detección y solución en lenguaje PERL.
* Problema y solución en lenguaje RTF.
* La detección debe retornar 1 si se ha detectado.
* La detección y ejecución imprimirán salida en la consola del programa.
-->
 
<AutoRemoveXDB name="Demo">
 
<item name="Test 1" >
 <descripcion>
  <problema><![CDATA[Problema Test 1]]></problema>
  <solucion><![CDATA[Solucion Test 1]]></solucion>
 </descripcion>
 <deteccion><![CDATA[print "Deteccion Test 1\n"; exit 1;]]></deteccion>
 <ejecucion><![CDATA[print "Test 1 ejecutado.\n"]]></ejecucion>
</item>
 
<item name="Test 2" >
 <descripcion>
  <problema><![CDATA[Problema Test 2]]></problema>
  <solucion><![CDATA[Solucion Test 2]]></solucion>
 </descripcion>
 <deteccion><![CDATA[print "Deteccion Test 2\n"; exit 0;]]></deteccion>
 <ejecucion><![CDATA[print "Test 2 ejecutado.\n"]]></ejecucion>
</item>
 
</AutoRemoveXDB>


El tag "item" simboliza cada problema o tarea de la base de datos.
El tag "descripción" informa de todos los detalles que el usuario verá.
El tag "problema" es texto en formato RTF que se le mostrará al usuario.
El tag "solucion" es texto en formato RTF que se le mostrará al usuario.
El tag "deteccion" es el código en lenguaje Perl. Todo texto imprimido se mostrará en la consola de AutoRemoveX. Para mostrar una linea de texto debe imprimirse con un salto de linea. no se imprimirán los textos sin saltos de linea hasta que se muestre un salto de linea. Esto quiere decir que es imposible crear lineas de progreso.
El código deberá terminar retornando 1 si se ha detectado la tarea a ejecutar.
El tag "ejecucion" es el código en lenguaje Perl que ejecutará el interpretador nativo si el usuario ha seleciconado su ejecución.

Lo que hace el Software es ejecutar la detección y este agregará un checkbox en la GUI del software y el usuario eligirá ejecutar o no lo que esté descrito dentro del tag "ejecucion".

Para la ejecución de scripts en lenguaje Perl el software tiene un interpretador Perl embalado que solo se descomprime si este no existe dentro del directorio de configuraciones %homepath%\.autoremovex\

El usuario NO necesita tener instalado Perl.

Este software está hecho en Visual Basic .NET 2005 por lo cual es únicamente necesario tener instalado .NET Framework 3.5

Software con licencia GPL V3 hecho por WHK dedicado a mi mujer que tanto amo Maria Antonieta (Alely).


Le hize un blog para tenerlo de fachada y colgar las capturas y archivos ( http://autoremovex.wordpress.com/que-es-autoremovex/ )pero el hilo oficial del AutoRemoveX es este.


En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
.::IT::.

Desconectado Desconectado

Mensajes: 115



Ver Perfil
Re: AutoRemoveX by WHK + SourceCode
« Respuesta #1 en: 13 Enero 2011, 00:55 »

No entender que hace pero igual bajando para averiguarlo!!!!!!!!!!!! jaja

Saludos!!!!!


En línea

Simplemente .::IT::.
raul338


Conectado Conectado

Mensajes: 2.373


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: AutoRemoveX by WHK + SourceCode
« Respuesta #2 en: 13 Enero 2011, 01:25 »

Este software está hecho en Visual Basic .NET 2005 por lo cual es únicamente necesario tener instalado .NET Framework 3.5

Pero el 2005 solo trabaja con el 2.0 o no?
En línea

WHK
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Re: AutoRemoveX by WHK + SourceCode
« Respuesta #3 en: 13 Enero 2011, 03:54 »

por lo menos en windows xp sp2 de forma nativa no corrió.
En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.334

he vuelto :)


Ver Perfil WWW
Re: AutoRemoveX by WHK + SourceCode
« Respuesta #4 en: 13 Enero 2011, 05:23 »

por lo menos en windows xp sp2 de forma nativa no corrió.

en xp hasta donde recuerdo solo viene el 1.1 instalado por defecto
En línea

Ojo por ojo, y el mundo acabará ciego.
[D4N93R]
Moderador
***
Desconectado Desconectado

Mensajes: 1.647


My software never has bugs. Its just features!


Ver Perfil WWW
Re: AutoRemoveX by WHK + SourceCode
« Respuesta #5 en: 13 Enero 2011, 06:22 »

La UI está genial!!!!! demasiado bien, estos días reviso el code a ver! seguro está igual de bueno..

Lo voy a añadir al repositorio!
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.334

he vuelto :)


Ver Perfil WWW
Re: AutoRemoveX by WHK + SourceCode
« Respuesta #6 en: 13 Enero 2011, 07:19 »

No entender que hace pero igual bajando para averiguarlo!!!!!!!!!!!! jaja

Saludos!!!!!

la idea es que a forma de plugins agregues a la base de datos tareas de comun interes... como lo hace el ccleaner pero con la posibilidad de extender y de codigo abierto :P ademas de las tuyas privadas (vaciar el cache de porno y solo ese? :rolleyes:)
En línea

Ojo por ojo, y el mundo acabará ciego.
WHK
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Re: AutoRemoveX by WHK + SourceCode
« Respuesta #7 en: 13 Enero 2011, 11:25 »

por ejemplo podrias publicar en tu blog o pgina una base de datos propia para autoremovex que haga tareas como eliminar el wga de win xp, validaciones y busqueda de softwares y cosas así xD, o puedes hacer uno especialmente dedicado a hacer backups de cosas... en fin, son tareas automatizadas de lo que uno quiera y si por ejemplo a mi me gustan las bases de datos de varias páginas yo puedo tomarlas y ponerlas dentro del directorio de bases de datos y el programa las cargará todas  :D

la GUI está hecha en base a imágenes sin control de botones y esas cosas, la optimizé para evitar que se frize, caiga, de error, etc, la revisé y la estuve probando bastante antes de publicarla, hasta tube mi betatester ayudandome xD

Dentro del código fuente viene un PSD con la plantilla del diseño de la GUI en photoshop y en otra carpeta las fuentes de texto de las imágenes.

mas tarde o mañana haré un video de como se usa.
« Última modificación: 13 Enero 2011, 11:28 por WHK » En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
[D4N93R]
Moderador
***
Desconectado Desconectado

Mensajes: 1.647


My software never has bugs. Its just features!


Ver Perfil WWW
Re: AutoRemoveX by WHK + SourceCode
« Respuesta #8 en: 13 Enero 2011, 14:40 »

Ah ok, usaste double buffer y eso? está muy bien!

Pues la app puede haber sido solo el GUI e igualmente me hubiese gustado xD es que yo tengo el problema de que soy mal diseñador xD
En línea

WHK
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Re: AutoRemoveX by WHK + SourceCode
« Respuesta #9 en: 13 Enero 2011, 15:50 »

Layout:





La clase del editor:

Código
Imports System.Xml
Imports System.IO
 
Public Class DetectorXML
 
   Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer
   Private Funci As New Funciones
   Private DB() As XmlNodeList
   Private UrlConf As String = Environment.GetEnvironmentVariable("homedrive") & Environment.GetEnvironmentVariable("homepath") & "\.autoremovex\"
   Private DBURL As String = Application.StartupPath & "\db\"
   Public Nombres() As String
   Public Problemas() As String
   Public Soluciones() As String
   Public Ejecuciones() As String
   Public NTareas_Cargadas As Integer
 
   Public Function CargarDB() As Boolean
       Try
           If Not Directory.Exists(UrlConf) Then
               Estado("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -")
               Estado("Creando el entorno para primer uso ...")
               Directory.CreateDirectory(UrlConf)
               File.WriteAllBytes(UrlConf & "pack.exe", My.Resources.perl)
               Estado("Creando caché y configuración ... ", False)
               Application.DoEvents()
               ShellExecute(0&, vbNullString, "pack.exe", vbNullString, UrlConf, vbHide)
               Application.DoEvents()
               While 1
                   System.Threading.Thread.Sleep(500)
                   Estado(".", False)
                   Application.DoEvents()
                   If Directory.GetFiles(UrlConf, "*", SearchOption.AllDirectories).Length > 3447 Then
                       Exit While
                   End If
               End While
               Try
                   Kill(UrlConf & "pack.exe")
               Catch ex As Exception
                   Try
                       System.Threading.Thread.Sleep(4000)
                       Kill(UrlConf & "pack.exe")
                   Catch ex2 As Exception
                       'Return False
                   End Try
               End Try
               If Not Directory.Exists(UrlConf & "\perl\bin") Then
                   Estado("Imposible crear la configuración. Verifique que tenga permisos de escritura en " & UrlConf)
                   Return False
               End If
               Estado(" ")
           End If
 
           Estado("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -")
           Estado("Cargando bases de datos ...")
 
           Dim DBArch As String, DBs() As String
           DBs = Directory.GetFiles(DBURL, "*.xml", SearchOption.AllDirectories)
 
           Dim DBXML As New XmlDocument
           ReDim DB(DBs.Length - 1)
           Dim Id As Integer = 0
           Dim NTareas As Integer = 0
           Dim NombreDB As String
 
           For Each DBArch In DBs
               Try
                   DBXML.Load(DBArch)
                   NombreDB = DBXML.SelectSingleNode("/AutoRemoveXDB").Attributes.GetNamedItem("name").Value
                   DB(Id) = DBXML.SelectNodes("/AutoRemoveXDB/item")
                   NTareas = NTareas + DB(Id).Count
                   Id = Id + 1
                   Estado("Base de datos cargada: " & NombreDB.ToString)
               Catch ex As Exception
                   Estado("La base de datos es corrpta: '" & DBArch & "', " & ex.Message.ToString)
               End Try
           Next
 
           If Id > 1 Then
               Estado(Id & " Bases de datos cargadas.")
           Else
               Estado(Id & " Base de datos cargada.")
           End If
           If NTareas > 1 Then
               Estado(NTareas & " Tareas cargadas.")
           Else
               Estado(NTareas & " Tarea cargada.")
           End If
           NTareas_Cargadas = NTareas
 
           ReDim Problemas(NTareas)
           ReDim Soluciones(NTareas)
           ReDim Ejecuciones(NTareas)
           ReDim Nombres(NTareas)
           Return True
       Catch ex As Exception
           Estado("No se pudo cargar la base de datos. " & ex.Message.ToString)
           Return False
       End Try
   End Function
 
   Public Sub Ejecutar(ByVal Tree_Ctl As TreeView)
       Dim Nodo As TreeNode
       If Tree_Ctl.Nodes.Count = 0 Then
           Estado("No hay tareas a ejecutar")
           Exit Sub
       End If
       Estado("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -")
       Estado("Ejecutando items seleccionados ...")
 
       For Each Nodo In Tree_Ctl.Nodes
           If Tree_Ctl.Nodes(Nodo.Index).Checked = True Then
               Estado("Ejecutando: " & Nombres(Nodo.Index) & " ...")
               Tree_Ctl.Nodes(Nodo.Index).Checked = False
 
               If File.Exists(UrlConf & "perl\bin\eval.pl") Then
                   Kill(UrlConf & "perl\bin\eval.pl")
               End If
               File.WriteAllText(UrlConf & "perl\bin\eval.pl", Ejecuciones(Nodo.Index)) ' Crea
               Call Funci.Pipe(UrlConf, "eval.pl")
           End If
       Next
       Tree_Ctl.Nodes.Clear()
       Estado("Tareas finalizadas.")
   End Sub
 
   Public Sub Detectar(ByVal Tree_Ctl As TreeView)
       Dim NodoXML As XmlNode, Nodo As TreeNode, Subnodo As XmlNode, Detectado As Boolean = False
       Dim DBU As XmlNodeList
 
       If NTareas_Cargadas = 0 Then
           Estado("No hay tareas para detectar")
           Exit Sub
       End If
 
       Tree_Ctl.Nodes.Clear()
       Estado("Comenzando escaneo ... ")
       Application.DoEvents()
 
       For Each DBU In DB
           If Not DBU Is Nothing Then
               For Each NodoXML In DBU
                   ' Detecta
                   Application.DoEvents()
 
                   Subnodo = NodoXML.SelectSingleNode("deteccion")
                   If File.Exists(UrlConf & "perl\bin\eval.pl") Then
                       Try
                           Kill(UrlConf & "perl\bin\eval.pl")
                       Catch ex As Exception
                           Estado("Imposible procesar la ejecución de detección. Verifique que tenga derechos de escritura sobre " & UrlConf & "perl\bin\")
                           Exit Sub
                       End Try
                   End If
                   File.WriteAllText(UrlConf & "perl\bin\eval.pl", Subnodo.InnerText) ' Crea
 
                   Estado("Detectando: " & NodoXML.Attributes.GetNamedItem("name").Value & " ...")
                   If Funci.Pipe(UrlConf, "eval.pl") = "1" Then ' Procesa
 
                       Nodo = Tree_Ctl.Nodes.Add(NodoXML.Attributes.GetNamedItem("name").Value)
                       Nodo.Checked = True
                       Nombres(Nodo.Index) = Trim(NodoXML.Attributes.GetNamedItem("name").Value)
 
                       Subnodo = NodoXML.SelectSingleNode("descripcion/problema")
                       Problemas(Nodo.Index) = Trim(Subnodo.InnerText)
 
                       Subnodo = NodoXML.SelectSingleNode("descripcion/solucion")
                       Soluciones(Nodo.Index) = Trim(Subnodo.InnerText)
 
                       Subnodo = NodoXML.SelectSingleNode("ejecucion")
                       Ejecuciones(Nodo.Index) = Trim(Subnodo.InnerText)
                   End If
                   Kill(UrlConf & "perl\bin\eval.pl") ' Limpia
               Next
           End If
       Next
 
       If Tree_Ctl.Nodes.Count = 0 Then
           Estado("No se ha detctado ninguna tarea a realizar.")
       ElseIf Tree_Ctl.Nodes.Count = 1 Then
           Estado(Tree_Ctl.Nodes.Count & " Tarea detectada.")
       Else
           Estado(Tree_Ctl.Nodes.Count & " Tareas detectadas.")
       End If
   End Sub
 
   Private Sub Estado(ByVal Buffer As String, Optional ByVal NLBR As Boolean = True)
       Form1.Estado(Buffer, NLBR)
   End Sub
 
End Class
 

la clase de las funciones:

Código
Imports System.IO
 
Public Class Funciones
 
   Public Function Pipe(ByVal UrlConf As String, ByVal ArchivoPerl As String) As Integer
       Dim myprocess As New Process, StartInfo As New System.Diagnostics.ProcessStartInfo
       Dim EstadoStr As String
       StartInfo.WorkingDirectory = UrlConf & "perl\bin"
       StartInfo.FileName = UrlConf & "perl\bin\perl.exe"
       StartInfo.Arguments = ArchivoPerl
       StartInfo.RedirectStandardOutput = True
       StartInfo.UseShellExecute = False
       StartInfo.CreateNoWindow = True
       StartInfo.ErrorDialog = False
       myprocess.StartInfo = StartInfo
       Try
           myprocess.Start()
           Application.DoEvents()
           While myprocess.StandardOutput.EndOfStream = False
               EstadoStr = myprocess.StandardOutput.ReadLine()
               If Trim(EstadoStr).Length > 0 Then
                   Estado(EstadoStr) ' Uso de NLBR desde el script perl no sirve
               End If
               Application.DoEvents()
           End While
           Return myprocess.ExitCode
       Catch ex As Exception
           Return 0 ' El script devolvió un error
       End Try
       Return 0 ' No hay resultados
   End Function
 
   Private Sub Estado(ByVal Buffer As String, Optional ByVal NLBR As Boolean = True)
       Form1.Estado(Buffer, NLBR)
   End Sub
End Class
 

y el form principal:

Código
'AutoRemoveX es libre, puede redistribuirlo y / o modificar
'bajo los términos de la GNU General Public License publicada por la
'la Free Software Foundation, bien de la versión 3 de la Licencia.
'
'AutoRemoveX se distribuye con la esperanza de que sea útil,
'pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
'COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Véase el
'GNU General Public License para más detalles.
'
'Usted debería haber recibido una copia de la Licencia Pública General de GNU
'junto con AutoRemoveX. Si no, véase http://www.gnu.org/licenses/gpl-3.0.txt.
'
'Soporte:
'
'Usted no puede eliminar o modificar la dedicación hacia Maria Antonieta.
'Usted no puede eliminar la dirección URL del soporte y ayuda.
'Si usted quiere distribuir su código fuente debe incluir la licencia GPL y el archivo de ayuda PDF o en otro formato legible.
 
Imports System.IO
 
Public Class Form1
   Private Func As New DetectorXML
 
   Public Sub Estado(ByVal Buffer As String, Optional ByVal NLBR As Boolean = True)
       If TextBox1.TextLength > TextBox1.MaxLength - 2048 Then ' Dos lineas antes del tope
           TextBox1.Text = TextBox1.Text.Substring(2048, TextBox1.TextLength - 2048)
       End If
       TextBox1.SelectionStart = TextBox1.Text.Length
       TextBox1.SelectionLength = 0
       TextBox1.ScrollToCaret()
       If NLBR = True Then
           TextBox1.Paste(Buffer & vbCrLf)
       Else
           TextBox1.Paste(Buffer)
       End If
   End Sub
 
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Estado("Iniciado " & Now())
       Estado("AutoRemoveX dedicado a Maria Antonieta (Alely).")
       If File.Exists(Application.StartupPath & "\ayuda.pdf") Then
           Estado("Archivo de ayuda: ayuda.pdf")
       Else
           Estado("El archivo de ayuda no se ha encontrado.")
       End If
       Estado("Presione el botón escanear para detectar los problemas.")
   End Sub
 
   Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
       Popup(True, Func.Problemas(TreeView1.SelectedNode.Index), Func.Soluciones(TreeView1.SelectedNode.Index))
   End Sub
 
   Private Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave
       PictureBox1.Cursor = Cursors.Arrow
       PictureBox1.Image = My.Resources.btns
       PictureBox1.Tag = ""
   End Sub
 
   Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
       If e.X > 17 And e.X < 339 And e.Y > 29 And e.Y < 136 Then
           PictureBox1.Cursor = Cursors.Hand
           PictureBox1.Image = My.Resources.btn_escanear
           PictureBox1.Tag = "escanear"
 
       ElseIf e.X > 14 And e.X < 326 And e.Y > 147 And e.Y < 235 Then
           PictureBox1.Cursor = Cursors.Hand
           PictureBox1.Image = My.Resources.btn_ejecutar
           PictureBox1.Tag = "ejecutar"
 
       ElseIf e.X > 395 And e.X < 667 And e.Y > 80 And e.Y < 138 Then
           PictureBox1.Cursor = Cursors.Hand
           PictureBox1.Image = My.Resources.btn_seleccionar_
           PictureBox1.Tag = "seleccionar-"
 
       ElseIf e.X > 336 And e.X < 667 And e.Y > 146 And e.Y < 235 Then
           PictureBox1.Cursor = Cursors.Hand
           PictureBox1.Image = My.Resources.btn_seleccionar_1
           PictureBox1.Tag = "seleccionar+"
 
       Else
           PictureBox1.Cursor = Cursors.Arrow
           PictureBox1.Image = My.Resources.btns
           PictureBox1.Tag = ""
       End If
 
   End Sub
 
   Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
       If PictureBox1.Tag = "ejecutar" Then
           If TreeView1.Nodes.Count = 0 Then
               Estado("No hay tareas a ejecutar")
               Exit Sub
           End If
           TreeView1.Enabled = False
           PictureBox1.Enabled = False
           Application.DoEvents()
           Func.Ejecutar(TreeView1)
           Application.DoEvents()
           PictureBox1.Enabled = True
           TreeView1.Enabled = True
 
       ElseIf PictureBox1.Tag = "escanear" Then
           PictureBox1.Enabled = False
           If Not Func.CargarDB() Then
               Exit Sub
           End If
           Call Application.DoEvents()
           Func.Detectar(TreeView1)
           PictureBox1.Enabled = True
 
       ElseIf PictureBox1.Tag = "seleccionar-" Then
           If TreeView1.Nodes.Count = 0 Then
               Estado("No hay tareas para deseleccionar")
               Exit Sub
           End If
           PictureBox1.Enabled = False
           Dim Nodo As TreeNode
           For Each Nodo In TreeView1.Nodes
               Nodo.Checked = False
               Application.DoEvents()
           Next
           PictureBox1.Enabled = True
 
       ElseIf PictureBox1.Tag = "seleccionar+" Then
           If TreeView1.Nodes.Count = 0 Then
               Estado("No hay tareas para seleccionar")
               Exit Sub
           End If
           PictureBox1.Enabled = False
           Dim Nodo As TreeNode
           For Each Nodo In TreeView1.Nodes
               Nodo.Checked = True
               Application.DoEvents()
           Next
           PictureBox1.Enabled = True
 
       End If
 
   End Sub
 
   Public Sub Popup(ByVal Visible As Boolean, Optional ByVal Problema As String = "", Optional ByVal Solucion As String = "")
       Panel1.Visible = Visible
       Try
           RichTextBox1.Rtf = Problema
       Catch ex As Exception
           RichTextBox1.Text = Problema
       End Try
       Try
           RichTextBox2.Rtf = Solucion
       Catch ex As Exception
           RichTextBox2.Text = Solucion
       End Try
   End Sub
 
   Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click
       Popup(False)
   End Sub
 
   Private Sub PictureBox2_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox2.MouseEnter
       PictureBox2.Image = My.Resources.btn_cerrar_1
   End Sub
 
   Private Sub PictureBox2_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox2.MouseLeave
       PictureBox2.Image = My.Resources.btn_cerrar_0
   End Sub
End Class
 

por si a alguien le da flojera descargar el codigo fuente para que le de un vistazo mas rápido por si quiere verlo y ayudarme a optimizarlo xD
« Última modificación: 13 Enero 2011, 16:02 por WHK » En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
.::IT::.

Desconectado Desconectado

Mensajes: 115



Ver Perfil
Re: AutoRemoveX by WHK + SourceCode
« Respuesta #10 en: 13 Enero 2011, 19:26 »

 ;-) YO tambien so muy mal diseñador y estas aplicaciones me dan buenas ideas de como mejorar en ese tema muchas gracias!!!!!!!!!!
En línea

Simplemente .::IT::.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Nickmania sourcecode
.NET
WHK 4 1,077 Último mensaje 21 Noviembre 2010, 01:37
por WHK
[SourceCode]FileZilla Accounts Stealer
.NET
CorruptedByte 4 345 Último mensaje 17 Febrero 2012, 22:12
por CorruptedByte
[SourceCode]MailBomber
.NET
CorruptedByte 11 676 Último mensaje 24 Febrero 2012, 15:32
por $Edu$
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines