Autor
|
Tema: [SOURCE] Bloqueo de Pantalla (Leído 22,366 veces)
|
martin_poipon
Desconectado
Mensajes: 29
Mis metas: Dominar C++ & PHP
|
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
|
|
|
En línea
|
|
|
|
ignorantev1.1
Desconectado
Mensajes: 617
/\ Así acabo cuando quiero programar...
|
El tetris sufrio una sobredosis de algo , 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! Salud!
|
|
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
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!!!
|
|
|
En línea
|
"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
Desconectado
Mensajes: 617
/\ Así acabo cuando quiero programar...
|
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? : ¡Un error ha ocurrido! No se pudo cargar la plantilla 'quotefast'. Atrás Salud!
|
|
« Última modificación: 20 Junio 2011, 17:11 pm por ignorantev1.1 »
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. Buena por el tetris (es mi vicio) . PAra que no se coma el procesador: ' // 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!¡.
|
|
« Última modificación: 20 Junio 2011, 06:23 am por BlackZeroX▓▓▒▒░░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
ignorantev1.1
Desconectado
Mensajes: 617
/\ Así acabo cuando quiero programar...
|
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... 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...
|
|
|
En línea
|
|
|
|
martin_poipon
Desconectado
Mensajes: 29
Mis metas: Dominar C++ & PHP
|
@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") : txtCampoParaPass.Text = txtCampoParaPass & "a"
Y el boton de borrar ( como el Backspace ) : 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...
|
|
« Última modificación: 1 Julio 2011, 00:59 am por raul338 »
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!! Yo lo que haria es una matriz de controles que en su evento click tuviese esto. 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!!!
|
|
« Última modificación: 27 Junio 2011, 18:42 pm por 79137913 »
|
En línea
|
"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*
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
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!!!
|
|
|
En línea
|
"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*
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
impedir bloqueo de pantalla al reproducir video (Solucionado)
GNU/Linux
|
xkiz ™
|
1
|
5,775
|
4 Enero 2012, 18:26 pm
por xkiz ™
|
|
|
Pantalla standby repentinamente + bloqueo PC
Hardware
|
LadyAlerie
|
9
|
8,676
|
7 Junio 2012, 20:10 pm
por Aprendiz-Oscuro
|
|
|
Un error permite saltarse la pantalla de bloqueo en el iPhone con iOS 6.1
Noticias
|
wolfbcn
|
0
|
2,812
|
14 Febrero 2013, 18:55 pm
por wolfbcn
|
|
|
La pantalla de bloqueo de Windows permite la instalación de malware con ...
Noticias
|
wolfbcn
|
0
|
2,239
|
17 Marzo 2013, 01:24 am
por wolfbcn
|
|
|
Un fallo de Viber permite a los hackers eludir la pantalla de bloqueo en ....
Noticias
|
wolfbcn
|
3
|
2,625
|
28 Abril 2013, 22:51 pm
por Viber
|
|