如何自己编个屏保程序?

来源:百度知道 编辑:UC知道 时间:2024/05/21 06:21:00

用vb

一个标准的屏保有以下几个特点:

一:它是以.SCR作为文件的扩展名!

二:它有三种运行方式。

(1)运行在预览框中(用于预览屏保的效果。在“显示属性”→“屏幕保护程序”→“小屏幕”)。(见图)

(2)运行设置程序(用于设置一些相关的样式。在“显示属性”→“屏幕保护程序”→“点击设置按钮”)。

(3)真正的运行屏保(屏保运行时的效果。在“显示属性”→“屏幕保护程序”→“点击预览”或鼠标、键盘在指定的时间内无动作时)。

如何让屏保识别当前需要运行哪一种方式呢?答案很简单——分析Windows调用屏保的参数。下面以Windows 98为例向大家分析一下调用屏保的参数。

当Windows需要屏保显示在“小屏幕”中时会在调用屏保的后面加上两个参数。

如:myscr.scr /p 7981(参数一:/p 表示让程序显示在“小屏幕”里,参数二:7981表示“小屏幕”的句柄hWnd。这样屏保就会得知Windows要它显示在“小屏幕”中。)

当Windows需要屏保显示设置对话框时会在调用屏保的后面不加或加上两个参数。

如:myscr.scr或myscr.scr /C 7987(参数一:/C表示让程序显示设置对话框,参数二:7987表示该属性页的句柄。)

当Windows需要运行屏保时会在调用屏保的后面加上一个参数。

如:myscr.scr /S(参数:/S表示让屏保运行。)

好了,知道了Windows如何让屏保运行的三种方式后,接下来就要讨论如何实现它们了。

实现原理:Windows通过某种方式调用屏保,屏保知道了它此时要干什么便会在当前环境中搜索是否有相同的实例存在。如果该实例的运行方式与此次要启动的运行方式不同则关闭前个实例,如果该实例的运行方式与此次要启动的运行方式相同则关闭此次运行的实例。

显然要实现这种方法靠VB的App.PrevInstance是