Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Tomas1982 en 10 Enero 2017, 17:34 pm



Título: Cambiar imagen de from
Publicado por: Tomas1982 en 10 Enero 2017, 17:34 pm
Alguien me pudiera ayudar en como pudiera cambiar la imagen de fondo de mi from al hacer clip en el. Este es el código que tengo.
Código
  1. Public Class Form1
  2.  
  3.    Dim MOVIENDO As Boolean = False
  4.    Dim IMAGEN As Image
  5.    Dim MIX As Integer
  6.    Dim MIY As Integer
  7.  
  8.    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  9.        IMAGEN = Me.BackgroundImage
  10.        PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO
  11.    End Sub
  12.    Public Sub PINTA()
  13.        Me.Opacity = 0 'FORM TRANSPARENTE
  14.        Threading.Thread.Sleep(100) 'PARA ASEGURAR QUE SEA TRANSPARENTE
  15.        'CREA UNA IMAGEN DE LO QUE HAY DEBAJO DEL FORM COMO FONDO
  16.        Dim BMP As Bitmap = New Bitmap(IMAGEN.Width, IMAGEN.Height)
  17.        Dim DIBUJO As Graphics = Graphics.FromImage(BMP)
  18.        DIBUJO.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size)
  19.        'AÑADE NUESTRA IMAGEN AL FONDO
  20.        DIBUJO.DrawImage(IMAGEN, 0, 0, BMP.Width, BMP.Height)
  21.        Me.BackgroundImage = BMP 'PONE EL MONTAJE COMO IMAGEN DEL FORM
  22.        Me.Opacity = 1 'DEVUELVE LA OPACIDAD NORMAL.
  23.    End Sub
  24.  
  25.    Private Sub LabelMOVER_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
  26.        'MEMORIZA LA POSICION DE LA ETIQUETA
  27.        MIX = MousePosition.X - Me.Location.X
  28.        MIY = MousePosition.Y - Me.Location.Y
  29.        Me.BackgroundImage = IMAGEN 'ELIMINA EL FONDO DE LA IMAGEN
  30.        Me.Opacity = 0.1 'PARA QUE SE VEA MENOS EL RECTANGULO DEL FORM
  31.        MOVIENDO = True 'INICIA EL MOVIMIENTO
  32.    End Sub
  33.  

Saludos


Título: Re: Cambiar imagen de from
Publicado por: Lekim en 11 Enero 2017, 13:28 pm
¿Qué quieres hacer?

¿cual es el problema?

S2s


Título: Re: Cambiar imagen de from
Publicado por: Tomas1982 en 11 Enero 2017, 17:29 pm
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
  1. Imports Microsoft.Win32
  2.  
  3. Public Class Form1
  4.    Dim MOVIENDO As Boolean = False
  5.    Dim IMAGEN As Image
  6.    Dim MIX As Integer
  7.    Dim MIY As Integer
  8.    Dim valor As Integer = 0
  9.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  10.        'Me.Location = New Point(1750, 900)
  11.        IMAGEN = Me.BackgroundImage
  12.        PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO
  13.    End Sub
  14.  
  15.    Public Sub PINTA()
  16.        Me.Opacity = 0 'FORM TRANSPARENTE
  17.        Threading.Thread.Sleep(100) 'PARA ASEGURAR QUE SEA TRANSPARENTE
  18.        'CREA UNA IMAGEN DE LO QUE HAY DEBAJO DEL FORM COMO FONDO
  19.        Dim BMP As Bitmap = New Bitmap(IMAGEN.Width, IMAGEN.Height)
  20.        Dim DIBUJO As Graphics = Graphics.FromImage(BMP)
  21.        DIBUJO.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size)
  22.        'AÑADE NUESTRA IMAGEN AL FONDO
  23.        DIBUJO.DrawImage(IMAGEN, 0, 0, BMP.Width, BMP.Height)
  24.        Me.BackgroundImage = BMP 'PONE EL MONTAJE COMO IMAGEN DEL FORM
  25.        Me.Opacity = 1 'DEVUELVE LA OPACIDAD NORMAL.
  26.    End Sub
  27.  
  28.    Private Sub LabelMOVER_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseDown
  29.        'MEMORIZA LA POSICION DE LA ETIQUETA
  30.        MIX = MousePosition.X - Me.Location.X
  31.        MIY = MousePosition.Y - Me.Location.Y
  32.        Me.BackgroundImage = IMAGEN 'ELIMINA EL FONDO DE LA IMAGEN
  33.        Me.Opacity = 0.1 'PARA QUE SE VEA MENOS EL RECTANGULO DEL FORM
  34.        MOVIENDO = True 'INICIA EL MOVIMIENTO
  35.    End Sub
  36.  
  37.    Private Sub LabelMOVER_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseMove
  38.        If MOVIENDO = True Then
  39.            Me.Location = New Point(MousePosition.X - MIX, MousePosition.Y - MIY) 'MUEVE EL FORM SEGUN EL CAMBIO DE POSICION DE LA ETIQUETA
  40.        End If
  41.    End Sub
  42.  
  43.    Private Sub LabelMOVER_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseUp
  44.        PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO
  45.        MOVIENDO = False 'FINALIZA EL MOVIMIENTO
  46.    End Sub
  47.  
  48.    Private Sub LabelCERRAR1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelCERRAR1.Click
  49.        Me.Close()
  50.    End Sub
  51.  
  52.  
  53.    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
  54.        If valor = 0 Then
  55.  
  56.  
  57.            PictureBox1.Image = My.Resources.Cerrado
  58.            Dim root As RegistryHive = RegistryHive.LocalMachine
  59.            Dim subkey As String = "SYSTEM\CurrentControlSet\Control\StorageDevicePolicies"
  60.            Dim value As String = "WriteProtect"
  61.            Dim data As String = "1"
  62.  
  63.            Using key As RegistryKey = RegistryKey.OpenBaseKey(root, RegistryView.Registry64)
  64.           key.CreateSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree).
  65.                    SetValue(value, data, RegistryValueKind.String)
  66.            End Using
  67.            valor = 1
  68.        Else
  69.            PictureBox1.Image = My.Resources.Open
  70.            Dim root As RegistryHive = RegistryHive.LocalMachine
  71.            Dim subkey As String = "SYSTEM\CurrentControlSet\Control\StorageDevicePolicies"
  72.            Dim value As String = "WriteProtect"
  73.            Dim data As String = "0"
  74.  
  75.            Using key As RegistryKey = RegistryKey.OpenBaseKey(root, RegistryView.Registry64)
  76.                key.CreateSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree).
  77.                    SetValue(value, data, RegistryValueKind.String)
  78.            End Using
  79.            valor = 0
  80.        End If
  81.    End Sub
  82.  
  83.    Private Sub PictureBox1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseHover
  84.        PictureBox1.Size = New Size(Width:=52, Height:=46)
  85.    End Sub
  86.  
  87.    Private Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave
  88.        PictureBox1.Size = New Size(Width:=41, Height:=36)
  89.    End Sub
  90. End Class
  91.  
  92.  


Título: Re: Cambiar imagen de from
Publicado por: Tomas1982 en 11 Enero 2017, 17:39 pm
Ya solucione el problema, el código me queda de esta manera.

Código
  1. Imports Microsoft.Win32
  2.  
  3. Public Class Form1
  4.    Dim MOVIENDO As Boolean = False
  5.    Dim IMAGEN As Image
  6.    Dim MIX As Integer
  7.    Dim MIY As Integer
  8.    Dim valor As Integer = 0
  9.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  10.        'Me.Location = New Point(1750, 900)
  11.        IMAGEN = Me.BackgroundImage
  12.        PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO
  13.    End Sub
  14.  
  15.    Public Sub PINTA()
  16.        Me.Opacity = 0 'FORM TRANSPARENTE
  17.        Threading.Thread.Sleep(100) 'PARA ASEGURAR QUE SEA TRANSPARENTE
  18.        'CREA UNA IMAGEN DE LO QUE HAY DEBAJO DEL FORM COMO FONDO
  19.        Dim BMP As Bitmap = New Bitmap(IMAGEN.Width, IMAGEN.Height)
  20.        Dim DIBUJO As Graphics = Graphics.FromImage(BMP)
  21.        DIBUJO.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size)
  22.        'AÑADE NUESTRA IMAGEN AL FONDO
  23.        DIBUJO.DrawImage(IMAGEN, 0, 0, BMP.Width, BMP.Height)
  24.        Me.BackgroundImage = BMP 'PONE EL MONTAJE COMO IMAGEN DEL FORM
  25.        Me.Opacity = 1 'DEVUELVE LA OPACIDAD NORMAL.
  26.    End Sub
  27.  
  28.    Private Sub LabelMOVER_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseDown
  29.        'MEMORIZA LA POSICION DE LA ETIQUETA
  30.        MIX = MousePosition.X - Me.Location.X
  31.        MIY = MousePosition.Y - Me.Location.Y
  32.        Me.BackgroundImage = IMAGEN 'ELIMINA EL FONDO DE LA IMAGEN
  33.        Me.Opacity = 0.1 'PARA QUE SE VEA MENOS EL RECTANGULO DEL FORM
  34.        MOVIENDO = True 'INICIA EL MOVIMIENTO
  35.    End Sub
  36.  
  37.    Private Sub LabelMOVER_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseMove
  38.        If MOVIENDO = True Then
  39.            Me.Location = New Point(MousePosition.X - MIX, MousePosition.Y - MIY) 'MUEVE EL FORM SEGUN EL CAMBIO DE POSICION DE LA ETIQUETA
  40.        End If
  41.    End Sub
  42.  
  43.    Private Sub LabelMOVER_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseUp
  44.        PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO
  45.        MOVIENDO = False 'FINALIZA EL MOVIMIENTO
  46.    End Sub
  47.  
  48.    Private Sub LabelCERRAR1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelCERRAR1.Click
  49.        Me.Close()
  50.    End Sub
  51.  
  52.  
  53.    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
  54.        If valor = 0 Then
  55.            PictureBox1.Image = My.Resources.Cerrado
  56.            Dim ClaveRaíz As RegistryHive = RegistryHive.LocalMachine    ' HKEY_LOCAL_MACHINE
  57.            ' Crea un puntero de clave de Registro para HKEY_LOCAL_MACHINE en la máquina actual
  58.            Dim Clave = RegistryKey.OpenRemoteBaseKey(ClaveRaíz, Environment.MachineName) '<-- Para x64
  59.            ' Crea las claves y valores en la localización especificada
  60.            Using key As RegistryKey = Clave.CreateSubKey("SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\", RegistryKeyPermissionCheck.ReadWriteSubTree)
  61.                key.SetValue("WriteProtect", 1, RegistryValueKind.DWord) 'Valor DWORD
  62.            End Using
  63.            valor = 1
  64.        Else
  65.  
  66.            PictureBox1.Image = My.Resources.Open
  67.            Dim ClaveRaíz As RegistryHive = RegistryHive.LocalMachine    ' HKEY_LOCAL_MACHINE
  68.            ' Crea un puntero de clave de Registro para HKEY_LOCAL_MACHINE en la máquina actual
  69.            Dim Clave = RegistryKey.OpenRemoteBaseKey(ClaveRaíz, Environment.MachineName) '<-- Para x64
  70.            ' Crea las claves y valores en la localización especificada
  71.            Using key As RegistryKey = Clave.CreateSubKey("SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\", RegistryKeyPermissionCheck.ReadWriteSubTree)
  72.                key.SetValue("WriteProtect", 0, RegistryValueKind.DWord) 'Valor DWORD
  73.            End Using
  74.            valor = 0
  75.        End If
  76.    End Sub
  77.  
  78.    Private Sub PictureBox1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseHover
  79.        PictureBox1.Size = New Size(Width:=52, Height:=46)
  80.    End Sub
  81.  
  82.    Private Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave
  83.        PictureBox1.Size = New Size(Width:=41, Height:=36)
  84.    End Sub
  85. End Class
  86.