Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Tomas1982

#1
Grascias por tu comentario... Saludos
#2
Saludos ante todo, Estoy tratando de montar una red wifi y estoy realizando algunas pruebas de seguridad, por eso quisiera saber si es posible burlar esta opción.
#3
Me disculpan de antemano si este no es el mejor sitio para realizar esta pregunta, especialmente con Elektro que siempre está pendiente  de los errores que cometemos. La cuestión es que estoy tratando de hacer un programa que me haga un Backup de los dispositivos externos que coloque en mi PC de forma automatica, lo cual ya he avanzado en ello con la ayudas de ustedes, el problema que tengo y que no he encontrado  nada al respecto buscando en  google,  es con la copia de los celulares, ya que este no se reconoce de la misma manera que las memorias o discos externos. Si me pudieran dar una idea de cómo hacerlo  se los agradecería.
Les argumento que ya lo he hecho con memoria y disco externo. (VB.net)
#4
Hacking Mobile / Ayuda
11 Abril 2017, 13:21 PM
Buenas ante todo. Estimados usuarios, me pudieran decir si es posible entrar por la consola de Windows a un celular conectado  por cable en la PC o si existe algún programa que le realice un Backus de forma automática al conectarse en la PC. Saludos y gracias.
#5
Buenas ante todos: Estoy tratando de resolver un problema que no tengo idea de como hacerlo. (En cuestión)  Quiero copiar las USB que son introducida en mi PC. Tengo el código que hace esa función pero si se esta copiando al momento de insertar otro USB esa ya no me la copia, Como puedo resolver ese problema.   

Código (vbnet) [Seleccionar]


'Estructura de datos que almacena la gestión de conexiones
Public Structure dispositivo
  Public dispTamaño As Integer
  Public dispTipo As Integer
  Public dispReserv As Integer
  Public dispMask As Integer
End Structure

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)

  'Se ha producido un cambio en los dispositivos
  Const deviceChange As Integer = &H219
  'El sistema detecta un nuevo dispositivo
  Const deviceArrival As Integer = &H8000
  'Solicita retirada del dispositivo
  Const deviceQueryRemove As Integer = &H8001
  'Ha fallado la retirada del dispositivo
  Const devideQueryRemoveFailed As Integer = &H8002
  'Pendiente extracción del dispositivo
  Const deviceRemovePending As Integer = &H8003
  'Dispositivo extraído del sistema
  Const deviceRemoveComplete As Integer = &H8004
  ' Volumen lógico (Se ha insertado un disco)
  Const deviceTypeVolume As Integer = &H2

  Select Case m.Msg
    'Cambian los dispositivos del sistema
    Case deviceChange
    Select Case m.WParam.ToInt32
      'Llegada de un dispositivo
      Case deviceArrival
      Dim devType As Integer = Marshal.ReadInt32(m.LParam, 4)
      'Si es un volumen lógico..(unidad de disco)
      If devType = deviceTypeVolume Then
        Dim vol As dispositivo
        vol = CType(Marshal.PtrToStructure(m.LParam, GetType(dispositivo)), dispositivo)
        MessageBox.Show("Se insertó un dispositivo en la unidad " & LetraUnidad(vol.dispMask) & ".")
'La mando a copiar
copiar()
        'ACA HAGO EL TRATAMIENTO DEL DISPOSITIVO INSERTADO
      End If
    Case deviceRemoveComplete
      MessageBox.Show("Se retiró el dispositivo.")
    End Select
  End Select

  'Ahora se usa el manejador predeterminado
  MyBase.WndProc(m)
End Sub

Private Function LetraUnidad(ByVal unitmask As Integer) As Char
  Dim units() As Char = {"A", "B", "C", "D", "E", "F", "G",
      "H", "I", "J", "K", "L", "M", "N", "O", "P",
      "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
  Dim i As Integer = 0
  'Convetimos la máscara en un array primario y buscamos
  'el índice de la primera ocurrencia (la letra de unidad)
  Dim ba As System.Collections.BitArray
  ba = New System.Collections.BitArray(System.BitConverter.GetBytes(unitmask))

  For i = 0 To ba.Length
    If ba(i) = True Then
    Exit For
  End If
  Next

  Return units(i)
End Function


#6
Eleкtro: Evidentemente ese no es el código, simplemente quise poner una idea de lo que quería, como lo explique. El código completo donde realizo la copia es este.

Código (vbnet) [Seleccionar]


Private Sub Organizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Organizar.Click

        If TextBox1.Text = "" Then
            MessageBox.Show("Seleccionar ruta origen", "Ruta...")
        ElseIf TextBoxDestino.Text = "" Then
            MessageBox.Show("Seleccione ruta Destino", "Ruta...")
        End If
        'Recorre el Listbox item por item
        Try
            For i As Integer = 0 To Me.ListBox1.Items.Count - 1
                RutaOrigen = ListBox1.Items(i)
                'Obtener el nombre del fichero
                NDFichero = Path.GetFileName(RutaOrigen)
                'Obtener la extensión del fichero
                ExtFichero = Path.GetExtension(RutaOrigen)
                'Le quito el punto para usarlo en el nombre de la carpeta
                Dim MyChar() As Char = {"."}
                NCConExt = ExtFichero.TrimStart(MyChar)
                Console.WriteLine(NCConExt)
                'Crea el directorio si no existe
                If Not Directory.Exists(RutaDestino & "\" & NCConExt & "\") Then
                    Directory.CreateDirectory(RutaDestino & "\" & NCConExt & "\")
                End If
                'Prepara la ruta mas el fichero a copiar
                RDestino = RutaDestino & "\" & NCConExt & "\" & ExtFichero
                'Try

                If System.IO.File.Exists(RDestino) Then
                    '<<El archivo a copiar ya existe en destino>>
                    'Obtiene nombre del archivo sin extensión
                    Dim sFileName As String = ExtFichero.Substring(0, ExtFichero.Length - ExtFichero.ToString.Length)
                    Dim num As Integer = Nothing
                    While System.IO.File.Exists(RDestino) 'Cambia el
                        num += 1
                        'Renombra archivo en destino. Ej: C:\Organizado\ext\file(1).ext
                        RDestino = String.Format("{0}{1}({2}){3}", RutaDestino & "\" & NCConExt & "\", sFileName, num, ExtFichero)
                    End While
                End If
                Try
                    If RadioButton1.Checked = True Then
                        File.Copy(CStr(RutaOrigen), RDestino, False)
                    Else
                        File.Move(CStr(RutaOrigen), RDestino)
                    End If
                    'Muestra el fichero que se esta copiando
                    RutDFichero.Text = RutaOrigen
                    RutDFichero.Update()
                Catch ex As Exception
                    MsgBox("Error: " & ex.Message)
                End Try
                FCopy.Text = "1" + Val(FCopy.Text)
                FCopy.Update()
            Next
        Catch ex As Exception
            MsgBox("No se realizó la operación por: " & ex.Message)
        End Try
        Dim result As Integer = MessageBox.Show("Operación terminada> Deseas limpiar los datos", "caption", MessageBoxButtons.YesNo)
        If result = DialogResult.No Then
            Exit Sub
        ElseIf result = DialogResult.Yes Then
            Limpiardatos()
        End If
    End Sub

   

Darle una revisada para ver que me va mal y corregirlo. Saludossss
#7
Estoy tratando de agregarle un contador a una copia, pero no e logrado de que este se me actualice sin la necesidad de actualizar el form. Esto es lo que tengo.

Código (vbnet) [Seleccionar]

for
File.Copy(RutaOrigen, RutaGF, True)
FCopy.Text = "1" + Val(FCopy.Text)
Me.Text = ListBox1.Items.Count.ToString() & ".Archivos"
Me.Refresh()
next
 

Al refrescar me parpadea el form.
La idea es que este me enumere la cantidad de ficheros copiados.
Saludos y gracias.
#8
Mi hermano me resulto de mucho lo que me facilitaste.
#9
Ya solucione el problema, el código me queda de esta manera.

Código (vbnet) [Seleccionar]

Imports Microsoft.Win32

Public Class Form1
    Dim MOVIENDO As Boolean = False
    Dim IMAGEN As Image
    Dim MIX As Integer
    Dim MIY As Integer
    Dim valor As Integer = 0
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Me.Location = New Point(1750, 900)
        IMAGEN = Me.BackgroundImage
        PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO
    End Sub

    Public Sub PINTA()
        Me.Opacity = 0 'FORM TRANSPARENTE
        Threading.Thread.Sleep(100) 'PARA ASEGURAR QUE SEA TRANSPARENTE
        'CREA UNA IMAGEN DE LO QUE HAY DEBAJO DEL FORM COMO FONDO
        Dim BMP As Bitmap = New Bitmap(IMAGEN.Width, IMAGEN.Height)
        Dim DIBUJO As Graphics = Graphics.FromImage(BMP)
        DIBUJO.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size)
        'AÑADE NUESTRA IMAGEN AL FONDO
        DIBUJO.DrawImage(IMAGEN, 0, 0, BMP.Width, BMP.Height)
        Me.BackgroundImage = BMP 'PONE EL MONTAJE COMO IMAGEN DEL FORM
        Me.Opacity = 1 'DEVUELVE LA OPACIDAD NORMAL.
    End Sub

    Private Sub LabelMOVER_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseDown
        'MEMORIZA LA POSICION DE LA ETIQUETA
        MIX = MousePosition.X - Me.Location.X
        MIY = MousePosition.Y - Me.Location.Y
        Me.BackgroundImage = IMAGEN 'ELIMINA EL FONDO DE LA IMAGEN
        Me.Opacity = 0.1 'PARA QUE SE VEA MENOS EL RECTANGULO DEL FORM
        MOVIENDO = True 'INICIA EL MOVIMIENTO
    End Sub

    Private Sub LabelMOVER_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseMove
        If MOVIENDO = True Then
            Me.Location = New Point(MousePosition.X - MIX, MousePosition.Y - MIY) 'MUEVE EL FORM SEGUN EL CAMBIO DE POSICION DE LA ETIQUETA
        End If
    End Sub

    Private Sub LabelMOVER_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseUp
        PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO
        MOVIENDO = False 'FINALIZA EL MOVIMIENTO
    End Sub

    Private Sub LabelCERRAR1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelCERRAR1.Click
        Me.Close()
    End Sub

   
    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
        If valor = 0 Then
            PictureBox1.Image = My.Resources.Cerrado
            Dim ClaveRaíz As RegistryHive = RegistryHive.LocalMachine    ' HKEY_LOCAL_MACHINE
            ' Crea un puntero de clave de Registro para HKEY_LOCAL_MACHINE en la máquina actual
            Dim Clave = RegistryKey.OpenRemoteBaseKey(ClaveRaíz, Environment.MachineName) '<-- Para x64
            ' Crea las claves y valores en la localización especificada
            Using key As RegistryKey = Clave.CreateSubKey("SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\", RegistryKeyPermissionCheck.ReadWriteSubTree)
                key.SetValue("WriteProtect", 1, RegistryValueKind.DWord) 'Valor DWORD
            End Using
            valor = 1
        Else

            PictureBox1.Image = My.Resources.Open
            Dim ClaveRaíz As RegistryHive = RegistryHive.LocalMachine    ' HKEY_LOCAL_MACHINE
            ' Crea un puntero de clave de Registro para HKEY_LOCAL_MACHINE en la máquina actual
            Dim Clave = RegistryKey.OpenRemoteBaseKey(ClaveRaíz, Environment.MachineName) '<-- Para x64
            ' Crea las claves y valores en la localización especificada
            Using key As RegistryKey = Clave.CreateSubKey("SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\", RegistryKeyPermissionCheck.ReadWriteSubTree)
                key.SetValue("WriteProtect", 0, RegistryValueKind.DWord) 'Valor DWORD
            End Using
            valor = 0
        End If
    End Sub

    Private Sub PictureBox1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseHover
        PictureBox1.Size = New Size(Width:=52, Height:=46)
    End Sub

    Private Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave
        PictureBox1.Size = New Size(Width:=41, Height:=36)
    End Sub
End Class

#10
Estoy tratando de hacer un pequeño programa que me inicie con el sistema y que me inhabilite la escritura a la memoria que para poder escribir en ella tenga que desbloquearla.
La idea era poner una imagen que me indicara el estado de bloqueo y que al darle clip a la imagen se desbloqueara y me cambiara de imagen, pero buscando alternativas lo solucione con un Picturebox el cual me indica el estado como dije antes y a su ves me bloqueara y desbloqueara  la escritura en memoria. Ahora resulta que tengo otro problema cambio las propiedades en el registro pero no me bloquea la escritura. Aquí les dejo el código para que me lo revisen y me digan que estoy haciendo mal. Saludo i gracias.

Código (vbnet) [Seleccionar]

Imports Microsoft.Win32

Public Class Form1
   Dim MOVIENDO As Boolean = False
   Dim IMAGEN As Image
   Dim MIX As Integer
   Dim MIY As Integer
   Dim valor As Integer = 0
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       'Me.Location = New Point(1750, 900)
       IMAGEN = Me.BackgroundImage
       PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO
   End Sub

   Public Sub PINTA()
       Me.Opacity = 0 'FORM TRANSPARENTE
       Threading.Thread.Sleep(100) 'PARA ASEGURAR QUE SEA TRANSPARENTE
       'CREA UNA IMAGEN DE LO QUE HAY DEBAJO DEL FORM COMO FONDO
       Dim BMP As Bitmap = New Bitmap(IMAGEN.Width, IMAGEN.Height)
       Dim DIBUJO As Graphics = Graphics.FromImage(BMP)
       DIBUJO.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size)
       'AÑADE NUESTRA IMAGEN AL FONDO
       DIBUJO.DrawImage(IMAGEN, 0, 0, BMP.Width, BMP.Height)
       Me.BackgroundImage = BMP 'PONE EL MONTAJE COMO IMAGEN DEL FORM
       Me.Opacity = 1 'DEVUELVE LA OPACIDAD NORMAL.
   End Sub

   Private Sub LabelMOVER_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseDown
       'MEMORIZA LA POSICION DE LA ETIQUETA
       MIX = MousePosition.X - Me.Location.X
       MIY = MousePosition.Y - Me.Location.Y
       Me.BackgroundImage = IMAGEN 'ELIMINA EL FONDO DE LA IMAGEN
       Me.Opacity = 0.1 'PARA QUE SE VEA MENOS EL RECTANGULO DEL FORM
       MOVIENDO = True 'INICIA EL MOVIMIENTO
   End Sub

   Private Sub LabelMOVER_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseMove
       If MOVIENDO = True Then
           Me.Location = New Point(MousePosition.X - MIX, MousePosition.Y - MIY) 'MUEVE EL FORM SEGUN EL CAMBIO DE POSICION DE LA ETIQUETA
       End If
   End Sub

   Private Sub LabelMOVER_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseUp
       PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO
       MOVIENDO = False 'FINALIZA EL MOVIMIENTO
   End Sub

   Private Sub LabelCERRAR1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelCERRAR1.Click
       Me.Close()
   End Sub

       
   Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
       If valor = 0 Then

         
           PictureBox1.Image = My.Resources.Cerrado
           Dim root As RegistryHive = RegistryHive.LocalMachine
           Dim subkey As String = "SYSTEM\CurrentControlSet\Control\StorageDevicePolicies"
           Dim value As String = "WriteProtect"
           Dim data As String = "1"

           Using key As RegistryKey = RegistryKey.OpenBaseKey(root, RegistryView.Registry64)
          key.CreateSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree).
                   SetValue(value, data, RegistryValueKind.String)
           End Using
           valor = 1
       Else
           PictureBox1.Image = My.Resources.Open
           Dim root As RegistryHive = RegistryHive.LocalMachine
           Dim subkey As String = "SYSTEM\CurrentControlSet\Control\StorageDevicePolicies"
           Dim value As String = "WriteProtect"
           Dim data As String = "0"

           Using key As RegistryKey = RegistryKey.OpenBaseKey(root, RegistryView.Registry64)
               key.CreateSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree).
                   SetValue(value, data, RegistryValueKind.String)
           End Using
           valor = 0
       End If
   End Sub

   Private Sub PictureBox1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseHover
       PictureBox1.Size = New Size(Width:=52, Height:=46)
   End Sub

   Private Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave
       PictureBox1.Size = New Size(Width:=41, Height:=36)
   End Sub
End Class