用VB做“变幻线”屏保
用VB做“变幻线”屏保
变幻线是Windows系统中自带的屏幕保护程序,它简单的线条,复杂的变幻,吸引了很多用户。其实这样一个程序也不难做。那么就跟我一起来,用VB做个"变幻线"屏幕保护程序吧。
一、编程思路
变幻线是由一些线条组成的,我们只要在不同的位置画线,然后停顿一下,再擦除这些线,然后再画上新的线条。这样交替地画线再擦除线,就可以实现变幻线效果了。
二、开始制作
第一步,启动VB6新建一个标准EXE工程,然后把form1的BorderStyle属性改为0-None这个是必需的,你也不想你的屏幕保护程序运行的时候有蓝的一条横杠吧。然后在form1上添加一个timer控件由于窗口和控间的属性是放在form1启动的时候初始化的,所以不在VB中对其属性做更改。
第二步点击菜单"视图"→"代码窗口",在弹出的代码窗体空白处添加以下代码:
Option Explicit '这个是要求变量申明,防止出现变量调用方面的错误。
Dim r tmp i n As Integer 'r用来返回SetWindowPos函数运行的值,i是循环变量,n是变幻线的终端点数
Dim px1 To 10 pxold1 To 10 py1 To 10 pyold1 To 10 As Integer '这些分别用来记录新旧X,Y坐标值。
Private Declare Function SetWindowPos Lib "user32" ByVal hwnd As Long ByVal hWndInsertAfter As Long ByVal x As Long ByVal y As Long ByVal cx As Long ByVal cy As Long ByVal wFlags As Long As Long荣耀6 电信
Const HWND_TOPMOST = -1
Const SWP_SHOWWINDOW = &H40
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1'以上几行是对winapi函数进行声明,以及SetWindowPos这个函数需要用到的变量进行赋值。
Private Declare Function ShowCursor Lib "user32" ByVal bShow As Long As Long'声明一个可以隐藏鼠标的API函数
Private Sub Form_KeyPressKeyAscii As Integer
If KeyAscii = 27 Then End '按Esc键就退出。这个是关键,你不是想你的屏幕保护永远退不出吧。其实这只是一个退出的事件,你也可以用鼠标移动等事件来控制该程序的退出。
End Sub
Private Sub Form_Load
n = 10'点的个数,以方便以后使用。
With Form1
三国志战略版 新赛季开启
r = SetWindowPosMe.hwnd HWND_TOPMOST 0 0 1 1 SWP_NOSIZE
'让本程序位于任何程序前面
..BackColor = &H0&'背景黑
..Width = Screen.Width
..Height = Screen.Height
..Left = 0
..Top = 0'以上四行让程序全屏,且程序覆盖掉显示器全部
..Timer1.Interval = 1000'设置timer控件触发时间间隔,1000大约是1秒种
End With
ShowCursor False'程序启动的时候把鼠标给消失掉
End Sub
Sub getpoint
For i = 1 To n
Randomize Timer
pxi = IntMe.Width  Rnd
pyi = IntMe.Height  Rnd
朝花夕拾狗猫鼠读书笔记
Next i
End Sub
'以上子函数为取得新的点的X,Y坐标
Sub drawpic
For i = 1 To n
If i = n Then
Line pxi pyi
-pxi - n + 1 pyi - n + 1 &HFF00&
Else
Line pxi pyi-pxi + 1 pyi + 1 &HFF00&
End If
Next i
End Sub
'以上子函数为画出线
Sub cleapic
For i = 1 To n
If i = n Then
Line pxoldi pyoldi-pxoldi - n + 1 pyoldi - n + 1 &H0&
波斯猫歌词
Else
Line pxoldi pyoldi-pxoldi + 1 pyoldi + 1 &H0&
End If
Next i
End Sub
'以上子函数为擦除上次画的线又为下次画线清理屏幕
Private Sub Form_UnloadCancel As Integer
ShowCursor True
End Sub
'退出的时候显示鼠标
Private Sub Timer1_Timer
For i = 1 To n
pxoldi = pxi
pyoldi = pyi
Next i
Call cleapic
Call getpoint
Call drawpic
End Sub
'通过Timer控件来触发的时间,用来定时擦所画线条。
三、最后工序
外省大学点击"文件"→"生成"把程序编译成为EXE文件,再Copy到系统文件夹一般是c\windows\,改名为.scr。这样,你就可以通过调用显示属性看到你的屏幕保护程序了。不过你要注意,你的这个屏幕保护不可以进行参数设置。
四、程序加强
程序并没有屏蔽一些热键,比如Ctrl+Alt+DelWINKEYAlt+Tab等。如果要把这个程序做完美,就必须屏蔽,因为涉及到另外几个Winapi函数。不过,这个程序也可以算是对得起屏幕保护几个字了,起码它可以让屏幕减少光线发射。
环境标语
(重庆  董理智)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。