Faça o seu Screen Saver no Visual Basic.
Vamos criar um programa no Visual Basic e transformá-lo em um Screen Saver. Pode parecer
complexo, mas não é.
Primeiro vamos criar um programa que vá enchendo a tela de pontos (o código foi tirado de
um exemplo do próprio Visual Basic), e , a seguir fazê-lo funcionar como um Screen Saver.
Para isto basta atentar-mos para os seguintes detalhes:
1-Ao criar o programa o form dever ocupar toda a janela e não ter título, nem os botões
para maximizar ou minimizar devem estar habilitados.
Valores das propriedades do Form1
------------------------------------------
Propriedade Valor
------------------------------------------
Caption ""
ControlBox False
BackColor &H00000000& (preto)
MaxButton False
MinButton False
WindowState 2
--------------------------------------------
2-Insira o controle Timer no formulário (fig 1.0) e defina as propriedades

fig 1.0
|
Valores das prop. de Timer1
-------------------------------
Propriedade Valor
-------------------------------
Name Timer1
Enabled True
Interval 60
--------------------------------
|
3-A seguir insira o código abaixo no evento timer do temporizador:
(Aqui fica a seu critério , use a sua imaginação...)
Private Sub Timer1_Timer()
Dim CX, CY, Msg, XPos, YPos ' Declare variables.
ScaleMode = 3 ' Set ScaleMode to
' pixels.
DrawWidth = 5 ' Set DrawWidth.
ForeColor = QBColor(4) ' Set background to red.
FontSize = 24 ' Set point size.
CX = ScaleWidth / 2 ' Get horizontal center.
CY = ScaleHeight / 2 ' Get vertical center.
Cls ' Clear form.
Msg = "Bom Dia!"
CurrentX = CX - TextWidth(Msg) / 2 ' Horizontal position.
CurrentY = CY - TextHeight(Msg) ' Vertical position.
Print Msg ' Print message.
Do
Counter = Counter + 1
XPos = Rnd * ScaleWidth ' Get horizontal position.
YPos = Rnd * ScaleHeight ' Get vertical position.
PSet (XPos, YPos), QBColor(Rnd * 15) ' Draw confetti.
DoEvents ' Yield to other
If Counter > 2000 Then 'contador para limpar a tela
Counter = 0
Form1.Cls
End If
Loop ' processando
End Sub
4-Como o Screen Saver pode ser ativado mais de uma vez , insira o código
a seguir no evento Load do formulário para evitar mais de uma instância
de seu aplicativo na memória.
Private Sub Form_Load()
If App.PrevInstance Then
End
End If
End Sub
5-Para encerrar o programa utilize os eventos MouseMove , MouseDown
e KeyDown, pois quando o usuário pressionar algo ou movimentar o mouse o
Screen Saver deve ser encerrado. Insira os códigos como descrito abaixo :
Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)
End
End Sub
Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)
End
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
End
End Sub
6-Como o evento MouseMove é ativado quando o form for lido pela primeira
vez, insira o código abaixo no evento MouseMouse para não fechar o programa na
sua ativação.
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static conta As Integer
If conta > 3 Then
End
Else
conta = conta + 1
End If
End Sub
7-Agora ative a opção File->Make EXE File... e informe o nome do seu Screen Saver.
8-Troque a extensão EXE do arquivo gerado para SCR, e copie o arquivo
para o diretório \WINDOWS\SYSTEM
9-Agora configure a proteção de tela no seu Windows 95 selecionando o nome do seu
programa como o protetor de tela.
10-Se quiser pode incrementar ainda mais este exemplo, mas atenção , eu não testei
este exemplo no Windows 3.X, só no Windows 95.
Tchau!
Retorna