[SOURCE] Bloqueo de Pantalla

Iniciado por 79137913, 21 Marzo 2011, 18:55 PM

0 Miembros y 2 Visitantes están viendo este tema.

martin_poipon

Cita de: BlackZeroX▓▓▒▒░░ en 13 Junio 2011, 09:58 AM
Respuesta: SetParent ( con esta API metes un objeto X dentro de otro ), tambien puedes crea un form MDI, pero no es como usar un form MDI.

Lo de la memoria: no e probado el programa pero si se bloquea la pantalla es para que no usen la pc asi que eso no importa mucho, igual los forms puede que usen mas memoria que los controles (bytes) aun que eso depende de las propiedades de cada elemento, es decir, no se puede afirmar que usa mas memoria realmente, pero si se puede calcular/verificar.

las nomenclaturas son importantes, pero igual cada programador tiene su nomenclatura para declarar; cuando son proyectos grandes y grupales la nomenclatura pasa de ser trivial a requerida y exigida ( El grupo determina una tabla para los distintos tipos de datos/objetos ), pero para este caso no importa mucho que digamos.


Para bloquear el teclado de manera que no se pueda usar combinaciones de teclas se puede usar un hook, o tambien se me ocurre dejar mantenida una tecla por medio de API's de esa manera se podria cancelar  Control+Alt+Supr aun que es una mera suposición xP.

P.D.: Esperare un te-tris dentro xP

Dulces Lunas!¡.


A eso me referia, un MDI y todo arreglado
BiQuad! - Inteligencia Virtual
[X] Tener una web con el script
[] Tener más de 100 posts
[] Tener más de 100 miembros
Host: byethost (gratis)

ignorantev1.1

El tetris sufrio una sobredosis de algo  :o, por que las figuras se quedan suspendidas!

Y claro, tienes que escojer entre bloqueo de teclado o jugar tetris, la opcion del teclado digital estaria bien. Pero tambien me gustaria(en lo personal, claro) que la manera de cerrarlo fuera mas facil, una contraseña por ejemplo y con eso.

No veo la necesidad de calendario o calculadora... si de juegos!... muchos juegos!  :laugh: :laugh: :laugh: :laugh:

Salud!

79137913

HOLA!!!

El tema de una contraseña es que ya me paso con otros bloqueadores que hay por la red, la gente te puede ver la contraseña o incluso algun keylogger te guarda la contraseña, pero con el sistema de salida nos ahorramos que la gente vea la pass, ya que esta varia en cada minuto.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

ignorantev1.1

#33
Emm pues asi sea el sistema mas seguro del mundo, siempre habra la forma de sacarle la contraseña, ademas: ¿Que no habiamos quedado en el teclado virtual?, ya no seria de caracteres, si no de puntos en la pantalla, ademas podrias variar la posicion o el tamaño de las teclas del teclado virtual a cada intento de ingresar la contraseña...

PD: ¿Alguien sabe por que chingaos no puedo citar la respuesta de otro usuario?  :-X:
Citar¡Un error ha ocurrido!
No se pudo cargar la plantilla 'quotefast'.
Atrás

Salud!

BlackZeroX

#34
.
Buena por el tetris (es mi vicio) .

PAra que no se coma el procesador:

Código (vb) [Seleccionar]


' // poner este código en algún otro proceso y que sea llamado por el proceso form_load y/o en form_resize.
' // Sustituí algunas zonas del código donde se presenta la división con números decimales ( / ) por la divicion entera ( \ )

'Private Sub Fondo_Timer()
      Const nLineasH As Long = 50
      Const nLineasV As Long = 500
      GRIS = nLineasH + 1
      AutoRedraw = True               ' //  Esta linea hace que no se borre nada.
      'LINEAS HORIZONTALES DE ABAJO
      'For Y = Me.ScaleHeight To Me.ScaleHeight - Int(Me.ScaleHeight / 4) Step -Int(Me.ScaleHeight / (4 * nLineasH))
      For Y = Me.ScaleHeight To (Me.ScaleHeight - Me.ScaleHeight \ 4) Step (Not (Me.ScaleHeight / (4 * nLineasH)) - 1)
          GRIS = GRIS - 1
          Me.Line (0, Y)-(Me.ScaleWidth, Y), RGB(GRIS, GRIS, GRIS)
      Next
      'LINEAS VERTICALES EN DEGRADE DE ABAJO
' //      For X = 0 To Me.ScaleWidth Step Int(Me.ScaleWidth / nLineasV)
      For X = 0 To Me.ScaleWidth Step (Me.ScaleWidth \ nLineasV)
          GRIS = nLineasH + 1
          'For Y = Me.ScaleHeight To Me.ScaleHeight - Int(Me.ScaleHeight / 4) Step -Int(Me.ScaleHeight / (4 * nLineasH))
          For Y = Me.ScaleHeight To (Me.ScaleHeight - (Me.ScaleHeight \ 4)) Step (Not (Me.ScaleHeight \ (4 * nLineasH)) - 1)
              GRIS = GRIS - 1
              Me.Line (X, Y)-(X, Y - (Me.ScaleHeight \ (4 * nLineasH))), RGB(GRIS, GRIS, GRIS)
          Next
      Next
'      Fondo.Enabled = false   '// No tiene caso
      '0,217,217
'End Sub




@ignorantev1.1

se ve mas limpio y mas eficiente un comentario cuando sabes leer y respondes a lo ultimo, si fuera de hace tiempo es razonable citarlo pero en caso contrario se ve feo y ademas hasta da weba leer;   me da weba visual ademas que el scroll de mi mouse es una cochinada ¬¬".

P.D.: El programa lo usare para proteger mi pc, ya que mis sobrinos siempre entran a mi cuarto a toquetear mis cosas... a tal grado que instale el Avira ( Asi de paranoico ando ).

Dulces Lunas!¡.
The Dark Shadow is my passion.

ignorantev1.1

Como no tenia (y no tengo) nada que hacer me puse a tratar de hacer una especie de teclado virtual y esto es lo que logre:
A lo mejor no es el mejor, pero al fin y al cabo es mi teclado virtual...  :-(
Código (vb) [Seleccionar]

Private Type Tecla
    Caption As String
    X As Integer
    Y As Integer
End Type

Const BCKCOLOR = vbBlack
Const FNTCOLOR = vbWhite

Dim TECLA_WDT As Integer
Dim TECLA_HGT As Integer
Dim RAIZ_X As Integer
Dim RAIZ_Y As Integer

Dim GBL_M_X As Integer
Dim GBL_M_Y As Integer

Dim Buffer As String

Dim teclado(0 To 39) As Tecla

Private Sub pinta_Teclado()
    Me.Line (RAIZ_X, RAIZ_Y)-(RAIZ_X + TECLA_WDT * 10, RAIZ_Y + TECLA_HGT * 4), BCKCOLOR, BF
    Me.FORECOLOR = FNTCOLOR
    For i% = 0 To 39
        Me.Line (RAIZ_X + teclado(i).X * TECLA_WDT, RAIZ_Y + teclado(i).Y * TECLA_HGT)- _
            (RAIZ_X + (teclado(i).X + 1) * TECLA_WDT, RAIZ_Y + (teclado(i).Y + 1) * TECLA_HGT) _
            , FNTCOLOR, B
        Me.CurrentX = RAIZ_X + (teclado(i).X * TECLA_WDT) + _
                (TECLA_WDT / 2 - Me.TextWidth(teclado(i).Caption) / 2)
        Me.CurrentY = RAIZ_Y + (teclado(i).Y * TECLA_HGT) + _
                (TECLA_HGT / 2 - Me.TextHeight(teclado(i).Caption) / 2)
        Me.Print teclado(i).Caption
    Next
End Sub

Private Sub inicializa_Teclado()
    Dim reserved() As Integer
    Dim Teclas As String
    Dim rndPos As Integer
    Dim cVal As Integer
   
    Teclas = "0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ."
    ReDim reserved(0 To 37)
    For i% = 0 To 37
        reserved(i) = i
    Next i
   
    For i% = 0 To 37
        rndPos = Int(Rnd * UBound(reserved))
        cVal = reserved(rndPos)
        For j% = rndPos To UBound(reserved) - 1
            reserved(j) = reserved(j + 1)
        Next j
       
        If UBound(reserved) > 0 Then ReDim Preserve reserved(UBound(reserved) - 1)
       
        teclado(i).Y = Int(cVal / 10)
        teclado(i).X = cVal - teclado(i).Y * 10
        teclado(i).Caption = Mid(Teclas, i + 1, 1)
    Next i
   
    teclado(38).Y = 3
    teclado(38).X = 8
    teclado(38).Caption = "OK"
   
    teclado(39).Y = 3
    teclado(39).X = 9
    teclado(39).Caption = "BCK"
End Sub


Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    GBL_M_X = -1: GBL_M_Y = -1
    If X >= RAIZ_X And Y >= RAIZ_Y And X <= RAIZ_X + (TECLA_WDT * 10) And _
    Y <= RAIZ_Y + (TECLA_WDT * 4) Then
        GBL_M_X = Fix(((X - RAIZ_X) / TECLA_WDT))
        GBL_M_Y = Fix(((Y - RAIZ_Y) / TECLA_HGT))
    End If
End Sub

Private Sub Form_Click()
    Dim isFound As Boolean
    Dim index As Integer
    If GBL_M_X <> -1 And GBL_M_Y <> -1 Then
        While index <= 39 And Not isFound
            If teclado(index).X = GBL_M_X And teclado(index).Y = GBL_M_Y Then
                isFound = True
            Else
                index = index + 1
            End If
        Wend
       
        If teclado(index).Caption = "BCK" Then
            If Len(Buffer) > 0 Then
                If Len(Buffer) = 1 Then
                    Buffer = ""
                Else
                    Buffer = Mid(Buffer, 1, Len(Buffer) - 1)
                End If
            End If
        ElseIf teclado(index).Caption = "OK" Then
            MsgBox "Buffer: " & Chr$(34) & Buffer & Chr$(34)
        Else
            Buffer = Buffer & teclado(index).Caption
        End If
       
        Me.Caption = Buffer
    End If
End Sub

Private Sub Form_Load()
    Randomize
    Me.AutoRedraw = True
    Me.ScaleMode = 3
    TECLA_WDT = 48
    TECLA_HGT = 16
    RAIZ_X = Me.ScaleWidth / 2 - TECLA_WDT * 10 / 2
    RAIZ_Y = Me.ScaleHeight - TECLA_HGT * 4
    Call inicializa_Teclado
    Call pinta_Teclado
End Sub

Private Sub Form_Resize()
    TECLA_WDT = 48
    TECLA_HGT = 16
    RAIZ_X = Me.ScaleWidth / 2 - TECLA_WDT * 10 / 2
    RAIZ_Y = Me.ScaleHeight - TECLA_HGT * 4
    Me.Cls
    Call pinta_Teclado
End Sub



@BlackZeroX▓▓▒▒░░
Pues no me refiero a este "post" especificamente. No puedo citar ningun comentario desde hace tiempo y no estaba planteando mi duda para poder citar ahorita, de hecho no planeo citar a nadie (por el momento), pero si pienso hacerlo, a lo mejor, mas adelante... ¡jum! y como sigo sin tener nada que hacer tratare de aprender a leer...

martin_poipon

#36
@ignorantev1.1
No hace falta tanto código, con hacer un frame con las letras y los numeros ( cada letra es un boton, o un label ) y ocultarlo al iniciar el programa, y luego mostrarlo con
fraTuFrame.Visible = True
es suficiente, y pones este código y ya está (suponiendo que pulsamos el boton de  la letra "a") :

Código (vb) [Seleccionar]
txtCampoParaPass.Text = txtCampoParaPass & "a"

Y el boton de borrar ( como el Backspace ) :

Código (vb) [Seleccionar]

LongitudTexto = Len(txtCampoParaPass)
LongitudTexto = Val(LongitudTexto) - 1
txtCampoParaPass.Text = Left(txtCampoParaPass,LongitudTexto)


Así de fácil, lo único complicado es ir haciendo los botones uno por uno y ponerles las letras y/o números

PD: Yo si puedo citar, pero el error ese me ha saltado 1 o 2 veces...  :-\
BiQuad! - Inteligencia Virtual
[X] Tener una web con el script
[] Tener más de 100 posts
[] Tener más de 100 miembros
Host: byethost (gratis)

79137913

#37
HOLA!!!

Yo lo que haria es una matriz de controles que en su evento click tuviese esto.

Código (vb) [Seleccionar]
Pass.txt = pass.txt & Botonletra(index).caption

Ahí ese seria el unico codigo necesario, lo unico alternativo a hacer es poner los botones con las letras correspondientes.

Pero no soy partidario de los teclados virtuales.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

martin_poipon

Lo mejor sería que te dejes de gráficos y tonterías (va para @79137913) y te esfuerces más en el código, pues si alguien necesita un buen diseño para su programa, no creo que le sea tan difícil de hacer como el código en general. :)

PD:Dejaré vb6 y empiezo (seriamente) con C++, pues vb6, como que no es tan bueno como C++, acabo de empezar y me es bastante fácil gracias a mis escasos conocimientos y familiarización con PHP.

Gracias por el programa (que por cierto, te salió muy bien) y si necesitas algo (no creo, sabeis mas que yo de VB6  :laugh: ) pero si necesitais algo, mi número de teléfono usuario ya lo sabeis, un MP es suficiente  ;D
BiQuad! - Inteligencia Virtual
[X] Tener una web con el script
[] Tener más de 100 posts
[] Tener más de 100 miembros
Host: byethost (gratis)

79137913

HOLA!!!

Buena onda lo tuyo eh...

La parte de C++la voy a omitir por que este hilo no es para un flame.

Lo de los graficos y tonterias... A que te referis, el programa esta funcional.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*