當前位置:編程學習大全網 - 腳本源碼 - 自己怎麽制作屏幕保護程序?

自己怎麽制作屏幕保護程序?

利用Visual Basic 制作屏幕保護程序非常容易。本文將詳細給大家介紹制作屏幕保護程序的方法。

---- 壹. 基本編程思路

---- 大家都知道屏幕保護程序就是利用變換的顏色或圖形以防止不變化的屏幕像素被損傷。所以,屏幕保護程序就是顯示不斷變化或移動的圖形,並且當有鼠標移動或按鍵時能夠終止的程序。

---- 1. 編制屏幕保護圖形

---- 2. 隱藏鼠標

---- 用ShowCursor Windows API 函數我們可以實現隱藏鼠標。

---- 3. 檢測鼠標和按鍵行為

---- 檢測上述行為以便退出屏幕保護程序

---- 4. Windows 調用屏幕保護程序的參數命令

---- /a 在顯示器屬性對話框中單擊了改變口令按鈕。

---- /p 每當選中顯示器屬性對話框中屏幕保護程序標簽時,在對話框顯示預覽效果。

---- /c 在顯示器屬性對話框中單擊了設置按鈕。

---- /s 在顯示器屬性對話框中單擊了預覽按鈕或屏幕保護程序被系統正常調用。

---- 5. 編譯屏幕保護程序

---- 其實任何VB應用程序都可作為屏幕保護程序來運行,但為了被Windows 95 所調用,需要將它作為屏幕保護程序來編譯。首先進入VB5編程環境,編好程序後選擇/File/Make project菜單項,然後在File Name文本框中將後綴名EXE改為SCR。最後單擊OK按鈕,將生成的SCR文件拷到Windows目錄下,就完成了屏幕保護程序的創建。

---- 二. 實例

---- 下面就用壹個實例給大家詳細說明屏幕保護程序的制作。

Option Explicit

Dim quitflag As Boolean ‘聲明終止程序標誌變量

Dim lleft

‘聲明隱藏或顯示鼠標的API函數

Private Declare Function ShowCursor Lib "user32"

(ByVal bShow As Long) As Long

‘檢測鼠標單擊或移動

Private Sub Form_Click()

quitflag = True

End Sub

Private Sub Form_MouseMove(Button As Integer,

Shift As Integer, X As Single, Y As Single)

Static xlast, ylast

Dim xnow As Single

Dim ynow As Single

xnow = X

ynow = Y

If xlast = 0 And ylast = 0 Then

xlast = xnow

ylast = ynow

Exit Sub

End If

If xnow < > xlast Or ynow < > ylast Then

quitflag = True

End If

End Sub

‘檢測按鍵

Private Sub Form_KeyDown(KeyCode As Integer,

Shift As Integer)

quitflag = True

End Sub

Private Sub Form_Load()

Dim X As Long

lleft = 0

‘橫向滾動文字的起始X坐標

If App.PrevInstance = True Then

‘用APP對象的PrevInstance屬性

Unload Me

‘防止同時運行屏幕保護程序的兩個實例

Exit Sub

End If

Select Case Ucase$(Left$(Command$, 2))

‘裝載命令行參數

Case "/S" ‘在顯示器屬性對話框中單擊了

預覽按鈕或屏幕保護程序被系統正常調用。

Show

‘全屏顯示Form1窗體

Randomize

‘初始化隨機數生成器

X = ShowCursor(False)

‘隱藏鼠標

BackColor = vbBlack

Do

Timer2.Enabled = True

‘啟動Timer2 ,顯示屏幕保護滾動文字

DoEvents

‘轉讓控制權,以便檢測鼠標和按鍵行為

Loop Until quitflag = True

‘運行屏幕保護滾動文字直至有鼠標和按鍵行為

Timer2.Enabled = False

‘終止滾動文字

Timer1.Enabled = True

‘啟動Timer1,退出屏幕保護程序

Case Else

Unload Me

Exit Sub

End Select

End Sub

Private Sub Form_Unload(Cancel As Integer)

Dim X

X = ShowCursor(True)

‘顯示鼠標

End Sub

Private Sub Timer1_Timer()

Unload Me

‘退出屏幕保護程序

End Sub

Private Sub Timer2_Timer()

顯示橫向滾動文字

lleft = lleft + 100

If lleft >= 11810 Then

lleft = 0

Lab1.Top = Int(Rnd * 7000)

End If

Lab1.Left = lleft

Timer2.Enabled = False

End Sub

  • 上一篇:勁舞團噴嚏輔助器在家用不起是為什麽
  • 下一篇:蘋果的ichat怎麽用,
  • copyright 2024編程學習大全網