用VB制作屏幕保护程序
2008-04-09 04:40:17来源:互联网 阅读 ()
![新老客户大回馈,云服务器低至5折](/info/templets/default/images/760x90_D.jpg)
一、 基本编程思路
大家都知道屏幕保护程序就是用变换的颜色或图形以防止屏幕荧光粉被损伤。当有鼠标移动或按键时能够终止它。
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目录下,就完成了屏幕保护程序的创建。
二、实例
下面就用一个实例给大家详细说明屏幕保护程序的制作。
名称 属性值
Form1
BorderStyle=0-None
′取消标题栏和最大化、最小化按钮
WindowState=2-Maximized
′窗体最大化
Timer
Name=Timer1
Interval=1
′时间间隔为1毫秒
Enabled=False
Timer
Name=Timer2
Interval=50
Enabled=False
Label
Name=lab1
Caption=电脑爱好者
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
xno X
ynow = Y
If xlast = 0 And ylast = 0
Then
xlast = xnow
ylast = ynow
Exit Sub
End If
If xnow
$#@60;$#@62; xlast Or ynow $#@60;$#@62; 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
UCaseS(LeftS(CommandS, 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 $#@62;= 11810
Then
lleft = 0
Lab1.Top = Int(Rnd * 7000)
End If
Lab1.Left =
lleft
Timer2.Enabled = False
End Sub
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:使用ASP建立Http组件
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash