用VB 5.0设计屏幕保护程序

梅雨丝丝

梅雨丝丝

2016-02-19 14:54

下面图老师小编跟大家分享一个简单易学的用VB 5.0设计屏幕保护程序教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

  使用Visual Basic 5.0很容易建立屏幕保护程序。实际上任何VB应用程序都可以作为屏幕保护程序来运行,只是有的程序更适于作为屏幕保护程序。要想使自己的应用程序成为Windows环境中屏幕保护程序,需要将该程序作为屏幕保护程序来编译。具体方法是:从File 菜单上选定Make EXE File,在Make EXE File对话框中作以下改动:不再建立带扩展名为EX E的可执行文件,而是把扩展名改为SCR。

  下面讨论一下在设计屏幕保护程序时应注意的几个问题。

1.如何防止同时运行屏幕保护程序的两个实例

  Visual Basic提供了一个App对象,它有一个PreInstance属性,如果当前已经有一个Vi sual Basic应用程序的实例在运行,就可把该属性设置为True,从而避免同时运行一个屏幕保护程序的多个实例。

  下面的代码显示App.PreInstance在屏幕保护程序中的实现:

  If App.PreInstance=True then

  Unload Me

  Exit Sub

  End If

  此外,还有一种更好的方法可以避免同时运行一个屏幕保护程序的多个实例。使用一个通知操作系统已经有一个屏幕保护程序被激活的Windows95 API函数SystemParametersInfo ,其声明如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  Private Declare Function SystemParametersInfo Lib user32 Alias SystemP arametersInfoA (

  ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long ) As Long

  在窗体加载事件的开始对这个函数调用一次,并在窗体卸载事件期间再调用一次。这两个调用必须成对出现并且二者必须在屏幕保护程序的执行期间进行调用。

  以下是在窗体加载事件中对该函数的调用:

  x=SystemParametersInfo(17,0,ByVal 0&,0)

  以下是在窗体卸载事件中对该函数的调用:

  x=SystemParametersInfo(17,1,ByVal 0&,0)

2.如何在屏幕保护程序中隐藏鼠标光标

  ShowCursor API函数允许在Visual B c应用程序中隐藏或显示鼠标光标,Windows通过更改一个计数变量来跟踪鼠标光标的可视性:每次用参数值True调用ShowCursor使该计数递增,用参数值False调用ShowCursor使该计数递减,如果该计数为0或者更小,鼠标光标就自动隐藏起来。以下是ShowCursor API函数的声明:

  Private Declare Function ShowCursor Lib user32 (ByVal bShow As Long ) As Long

  下面是两个使用ShowCursor函数的例子。

  显示鼠标光标:

  Private Sub ShowMouse()

  While ShowCursor(True)<=0

  Wend

  End Sub

  隐藏鼠标光标:

  Private Sub HideMouse()

  While ShowCursor(False)>0

  Wend

  End Sub

3.如何检测鼠标的移动

  MouseMove事件用来检测鼠标的移动,当应用程序启动时,甚至在鼠标实际上并未移动的情况下,MouseMove事件都会触发一次。所以第一次触发MouseMove事件时,只是记录鼠标当前位置,仅当鼠标真正从其起始位置移开时,才终止屏幕保护程序。具体实现代码如下:

  Private Sub Form_MouseMove(Button As Integer,Shift As Integer, X As Single, Y As Single)

  Static XLast, YLast As Single

  Dim XNow, YNow As Single

  记录当前位置

  XNow = X

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  YNow = Y

  第一次触发MouseMove事件,记录当前位置

  If XLast = 0 And YLast = 0 Then

  XLast = XNow

  YLast = YNow

  Exit Sub

  End If

  仅当鼠标移动足够迅速(一次2个像素以上)才恢复屏幕 If Abs(XNow - XLast) > 2 Or Abs(YNow - YLast) > 2 Then

  QuitFlag = True

  End If

  End Sub

4.如何检测鼠标单击

  Form_Click事件用来检测鼠标单击,Form_Click事件的具体代码如下:

  Private Sub Form_Click()

  鼠标单击,结束屏幕保护程序

  QuitFlag=True

  End Sub

5.如何检测键盘的活动

  Form_KeyDown事件用来检测键盘的活动,当按下任何一个键(包括Shift键)时,都能结束屏幕保护程序。Form_KeyDown事件的具体代码如下:

  Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

  按下键盘,结束屏幕保护程序

  QuitFlag = True

  End Sub

  通常,屏蔽保护程序中几个重要属性设置值如下:Form窗体BorderStyle为0-None,Co ntrolBox为False,KeyPreview为True,MaxButton和MinButton为False,WindowState为2-Maximized,定义窗体级变量QuitFlag(Dim QuitFlag as Boolean)。Timer控件(在Form窗体中)Enabled属性在设计环境中设置为False。

  本文给出一个完整的屏幕保护程序实例,其演示效果为:把当前的显示复制到一个全屏幕的窗体中,然后随机地在屏幕上画一些实心彩色小圆,并随机显示彩色字样Baby,I love you!。同时,在屏幕底部有一移动的图片框,读者可以在设计环境中添加自己喜欢的图片。在本屏幕保护程序中,设置Timer控件的Name属性为tmrExitNotify;在窗体底部添加一个PictureBox控件,设置其Name属性为picture1。

  在调试本程序时,有一技巧值得说明,可将Form_Load事件中Select CaseEnd Select 语句稍作修改如下:

  ●将Case /S注释掉,在其下添加Case Else语句;

  ●将Case Else/Unload Me/Exit Sub三条语句注释掉。

  这样,可在VB5.0环境下调试本程序,并预览演示效果。在调试完成后,再将上述修改恢复原样,编译成后缀为.SCR的文件,即可得到屏幕保护程序。

展开更多 50%)
分享

猜你喜欢

用VB 5.0设计屏幕保护程序

编程语言 网络编程
用VB 5.0设计屏幕保护程序

用VB设计更换屏幕保护的程序

编程语言 网络编程
用VB设计更换屏幕保护的程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用VB自制屏幕保护程序

编程语言 网络编程
用VB自制屏幕保护程序

利用VB6.0设计屏幕保护程序

编程语言 网络编程
利用VB6.0设计屏幕保护程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用VB实现屏幕滚屏保护效果

编程语言 网络编程
用VB实现屏幕滚屏保护效果

用Visual C#编写屏幕保护程序

编程语言 网络编程
用Visual C#编写屏幕保护程序

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用ActiveX控件封装MaskEdit控件-->解决不能绑定的问题

用ActiveX控件封装MaskEdit控件-->解决不能绑定的问题

VB5.0数据库编程经验小集

VB5.0数据库编程经验小集
下拉加载更多内容 ↓