用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 px1 To 10 pxold1 To 10 py1 To 10 pyold1 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_KeyPressKeyAscii As Integer
If KeyAscii = 27 Then End '按Esc键就退出。这个是关键,你不是想你的屏幕保护永远退不出吧。其实这只是一个退出的事件,你也可以用鼠标移动等事件来控制该程序的退出。
End Sub
Private Sub Form_Load
n = 10'点的个数,以方便以后使用。
With Form1
三国志战略版 新赛季开启r = SetWindowPosMe.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
pxi = IntMe.Width Rnd
pyi = IntMe.Height Rnd
朝花夕拾狗猫鼠读书笔记
Next i
End Sub
'以上子函数为取得新的点的X,Y坐标
Sub drawpic
For i = 1 To n
If i = n Then
Line pxi pyi
-pxi - n + 1 pyi - n + 1 &HFF00&
Else
Line pxi pyi-pxi + 1 pyi + 1 &HFF00&
End If
Next i
End Sub
'以上子函数为画出线
Sub cleapic
For i = 1 To n
If i = n Then
Line pxoldi pyoldi-pxoldi - n + 1 pyoldi - n + 1 &H0&
波斯猫歌词Else
Line pxoldi pyoldi-pxoldi + 1 pyoldi + 1 &H0&
End If
Next i
End Sub
'以上子函数为擦除上次画的线又为下次画线清理屏幕
Private Sub Form_UnloadCancel As Integer
ShowCursor True
End Sub
'退出的时候显示鼠标
Private Sub Timer1_Timer
For i = 1 To n
pxoldi = pxi
pyoldi = pyi
Next i
Call cleapic
Call getpoint
Call drawpic
End Sub
'通过Timer控件来触发的时间,用来定时擦所画线条。
三、最后工序
外省大学点击"文件"→"生成"把程序编译成为EXE文件,再Copy到系统文件夹一般是c\windows\,改名为.scr。这样,你就可以通过调用显示属性看到你的屏幕保护程序了。不过你要注意,你的这个屏幕保护不可以进行参数设置。
四、程序加强
程序并没有屏蔽一些热键,比如Ctrl+Alt+DelWINKEYAlt+Tab等。如果要把这个程序做完美,就必须屏蔽,因为涉及到另外几个Winapi函数。不过,这个程序也可以算是对得起屏幕保护几个字了,起码它可以让屏幕减少光线发射。
环境标语(重庆 董理智)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论