Red de conocimiento informático - Problemas con los teléfonos móviles - Salvapantallas de diseño de cursos de VB

Salvapantallas de diseño de cursos de VB

Tengo un tutorial sobre salvapantallas en VB, ¡pero lamentablemente hay demasiadas palabras para publicarlo aquí!

2. Generar interfaz

Valor de configuración de propiedad del objeto

Form1 AutoRedraw True

BackColor Black

BorderStyle 0. - Ninguno

Título Mi mundo de programación...

ControlBox False

KeyPreview True

MaxButton False

MinButton False

Nombre frmScreenSaver

ScaleMode 3 - Píxel

WindowState 2 - Maximizado

Label1 AutoSize True

BackStyle 0 - Transparente

BorderStyle 0 - Ninguno

Título Mi mundo de programación...

ForeColor Rojo

Fuente pequeña y redonda p>

Temporizador1 habilitado Falso

Intervalo 1

Agregue el siguiente código bajo el formulario:

Opción explícita

Dim QuitFlag As Boolean

Const SPI_SETSCREENSAVEACTIVE = 17

Función de declaración privada SetWindowPos Lib "user32" ( _

ByVal hwnd As Long, _

ByVal hWndInsertAfter As Long, _

ByVal X As Long, _

ByVal Y As Long, _

ByVal cx As Long, _

ByVal cy As Long, _

ByVal wFlags As Long _

) As Long

Función de declaración privada ShowCursor Lib "user32" ( _

p>

ByVal bShow As Long _

) As Long

Declaración privada Sub Sleep Lib "kernel32" (ByVal dwMillisegundos As Long)

Función de declaración privada SystemParametersInfo Lib "user32" Alias ​​​​"SystemParametersInfoA" ( _

ByVal uAction As Long, _

ByVal uParam As Long, _

ByVal lpvParam Mientras, _

ByVal fuWinIni Mientras _

) Mientras

Private Sub Form_Click()

QuitFlag = True

Fin Sub

Pr

ivate Sub Form_KeyDown(KeyCode como entero, Shift como entero)

QuitFlag = True

End Sub

Private Sub Form_Load()

Dim Throw As Long

Throw = SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, ByVal 0&, 0)

Seleccionar caso UCase$(Left$(Command$, 2))

Caso "/A"

MsgBox "No se puede establecer una contraseña para este protector de pantalla."

Descargarme

Salir de Sub

Case "/C"

MsgBox "Este protector de pantalla no tiene configuración.

"

Descargarme

Salir Sub

Caso "/P"

Descargarme

Salir Sub

Caso "/S"

Mostrar

Lanzar = MostrarCursor(False)

Lanzar = SetWindowPos(hwnd, -1, 0, 0, 0, 0, (&H2 O &H1))

Label1.Left = frmScreenSaver.ScaleWidth

Label1.Top = (frmScreenSaver.ScaleHeight - Label1.Height) / 2

Hacer

Etiqueta1.Left = Etiqueta1.Left - 3

Dormir (50)

Si Etiqueta1.Left <= -Label1.Width Luego Label1.Left = frmScreenSaver.ScaleWidth + Label1.Width

DoEvents

Bucle hasta QuitFlag = True

Timer1.Enabled = True

Caso más

Descargarme

Salir Sub

Finalizar selección

Fin Sub

Sub privado Form_MouseMove( Botón como entero, Mayús como entero, X como único, Y como único)

Dim Xnow como único, Ynow como único

Xúltimo estático como único, Yúltimo como único

Xnow = X

Ynow = Y

Si Xlast = 0 y Ylast = 0 entonces

Xlast = Xnow

Ylast = Ynow

Salir Sub

Fin si

Si Xnow <> Xlast o Ynow <> Ylast Entonces

QuitFlag = True

Finalizar si

End Sub

Sub privado Form_Unload(Cancelar como entero)

Atenuar lanzamiento mientras sea largo

Lanzar = Parámetros del sistemaI

nfo(SPI_SETSCREENSAVEACTIVE, 1, ByVal 0&, 0)

Throw = ShowCursor(True)

End Sub

Subetiqueta privada1_Click()

QuitFlag = True

End Sub

Subetiqueta privada1_MouseMove(Botón como entero, Mayús como entero, X como único, Y como único)

QuitFlag = Verdadero

End Sub

Private Sub Timer1_Timer()

Descargarme

Fin Sub