用VB怎么制作出屏幕保护程序

用VB怎么制作出屏幕保护程序,第1张

利用Visual Basic 制作屏幕保护程序非常容易。 ---- 一. 基本编程思路 ---- 大家都知道屏幕保护程序就是利用变换的颜色或图形以防止不变化的屏幕像素被损伤。所以,屏幕保护程序就是显示不断变化或移动的图形,并且当有鼠标移动或按键时能够终止的程序。 ---- 1. 编制屏幕保护图形 ---- 2. 隐藏鼠标 ---- 用ShowCursor Windows API 函数我们可以实现隐藏鼠标。 ---- 3. 检测鼠标和按键行为 ---- 检测上述行为以便退出屏幕保护程序 ---- 4. Windows 调用屏幕保护程序的参数命令 ---- /a 在显示器属性对话框中单击了改变口令按钮。 ---- /p 每当选中显示器属性对话框中屏幕保护程序标签时,在对话框显示预览效果。 ---- /c 在显示器属性对话框中单击了设置按钮。 ---- /s 在显示器属性对话框中单击了预览按钮或屏幕保护程序被系统正常调用。 ---- 5. 编译屏幕保护程序 ---- 其实任何VB应用程序都可作为屏幕保护程序来运行,但为了被Windows 95 所调用,需要将它作为屏幕保护程序来编译。首先进入VB5编程环境,编好程序后选择/File/Make project菜单项,然后在File Name文本框中将后缀名EXE改为SCR。最后单击OK按钮,将生成的SCR文件拷到Windows目录下,就完成了屏幕保护程序的创建。 ---- 二. 实例 ---- 下面就用一个实例给大家详细说明屏幕保护程序的制作。 Option Explicit

Dim quitflag As Boolean ‘声明终止程序标志变量

Dim lleft

‘声明隐藏或显示鼠标的API函数

Private Declare Function ShowCursor Lib "user32"

(ByVal bShow As Long) As Long

‘检测鼠标单击或移动

Private Sub Form_Click()

quitflag = True

End Sub

Private Sub Form_MouseMove(Button As Integer,

Shift As Integer, X As Single, Y As Single)

Static xlast, ylast

Dim xnow As Single

Dim ynow As Single

xnow = X

ynow = Y

If xlast = 0 And ylast = 0 Then

xlast = xnow

ylast = ynow

Exit Sub

End If

If xnow < >xlast Or ynow < >ylast Then

quitflag = True

End If

End Sub

‘检测按键

Private Sub Form_KeyDown(KeyCode As Integer,

Shift As Integer)

quitflag = True

End Sub

Private Sub Form_Load()

Dim X As Long

lleft = 0

‘横向滚动文字的起始X坐标

If App.PrevInstance = True Then

‘用APP对象的PrevInstance属性

Unload Me

‘防止同时运行屏幕保护程序的两个实例

Exit Sub

End If

Select Case UCase$(Left$(Command$, 2))

‘装载命令行参数

Case "/S"‘在显示器属性对话框中单击了

预览按钮或屏幕保护程序被系统正常调用。

Show

‘全屏显示Form1窗体

Randomize

‘初始化随机数生成器

X = ShowCursor(False)

‘隐藏鼠标

BackColor = vbBlack

Do

Timer2.Enabled = True

‘启动Timer2 ,显示屏幕保护滚动文字

DoEvents

‘转让控制权,以便检测鼠标和按键行为

Loop Until quitflag = True

‘运行屏幕保护滚动文字直至有鼠标和按键行为

Timer2.Enabled = False

‘终止滚动文字

Timer1.Enabled = True

‘启动Timer1,退出屏幕保护程序

Case Else

Unload Me

Exit Sub

End Select

End Sub

Private Sub Form_Unload(Cancel As Integer)

Dim X

X = ShowCursor(True)

‘显示鼠标

End Sub

Private Sub Timer1_Timer()

Unload Me

‘退出屏幕保护程序

End Sub

Private Sub Timer2_Timer()

显示横向滚动文字

lleft = lleft + 100

If lleft >= 11810 Then

lleft = 0

Lab1.Top = Int(Rnd * 7000)

End If

Lab1.Left = lleft

Timer2.Enabled = False

End Sub

---- 以上程序在HP 586/133上调试通过。

我说说屏保程序原理

首先屏保程序实际是exe文件,

把编译好的exe文件的扩展名改成scr,放到windows的system32就可以被windows选择作为屏保

例如1.exe改成1.scr

剩下的编程就是exe文件的开发问题

实现程序的动画效果,场景切换等功能

实现响应按键 和鼠标活动退出等


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11180269.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存