用VB 5.0设计屏幕保护程序

2016-02-19 14:54 6 1 收藏

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

【 tulaoshi.com - 编程语言 】

  使用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 ,其声明如下:

  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

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

  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

  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()

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

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

  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的文件,即可得到屏幕保护程序。

来源:https://www.tulaoshi.com/n/20160219/1608296.html

延伸阅读
->----WINDOWS95的桌面是用户的一个主要工作场所,如果你能使这个桌面移动起来或者发生其它变化,将是一种别具一格屏幕特技效果,而实际上目前具有类似效果的程序并不少见,比如MicrosoftPLUS!中提供的一种屏幕保护程序,下面介绍在VB5.0中实现桌面变化特技的基本原理和具体操作过程。 ----一、桌面变化的实质:这种编程效果的奥妙在于,它不...
在一些比较高级的程序中,有些资料是秘密的,那么在有人接近的时候,就需要启动一个屏幕保护,保护自己的电脑资料,所以我们选用WINDOWS的屏幕保护功能,可是操作系统需要我们在一定的时间内不接触电脑才能启动保护程序,这是达不到实时效果的,所以利用下列语句直接开始Windows的屏幕保护程序: SendMessage(HWND_BROADCAST,WM_SYSCO...
一、界面设计 新建一个标准的EXE工程。在Form1窗体中放置一个定时器(Timer1)、两个文本框(Label1,Label2)、两个命令按钮(Command1,Command2)和包含7个元素的控件数组(Label3(0)Label3(6))。 二、属性设置 Label3控件数组中的所有元素皆采用相同设置。 三、代码编写 本程序的实现原理是:当用户单击...
在WINDOWS里,右下角有许多应用程序的图标。而程序本身的窗口是隐藏的,若你需要调用应用程序的窗口,则双击该图标即可。这种程序称为托盘程序。这是WINDOWS98操作系统的一大特色。使用户能够更加快捷的显示和隐藏应用程序,可以使任务栏不致于太乱。托盘程序在Visual Basic里是怎么实现的呢? 编写托盘程序主要解决两个问题: ...
使用win98的人一定知道其中有一个“计划任务"的应用程序,它能够到指定时间便开始工作。不要认为它很神秘,其实用VB来设计这样一个程序是非常容易的事,以下是一个简单的VB闹钟程序,可供各位使用VB的朋友参考,如有何不适之处,请多指点! 首先在form1上建立三个命令按钮,分别为command1(打开预启动的文件);command2(设定时间的按钮);第三个comman...

经验教程

157

收藏

12
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部