VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 如何编写屏保
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:9414, 日期:2001-06-04
如何编写屏保

关键词:Visual Basic

The basic requirements for creating a screen saver are:

In the properties for your application set the title to:

SCRNSAVE: name

The 注释:name注释: part will appear on the list of available screen savers in the control panel. Note that this is not the title of the form, it is the application title and must be set in the project properties.

When you compile the program use .SCR for the extension instead of .EXE as normal. Place the compiled code in the Windows\System directory (it can also go in Windows, but System is preferred)
When your application starts check for a previous instance and stop if one is found:

Sub Form_Load()
If App.PrevInstance Then
  Unload Me 注释: NEVER use END!
  Exit Sub
End If

End Sub

Check the command line for switches:

/s setup mode - display/update configuration options only
/p nnn preview mode - "nnn" is a handle to the preview window
/a password support check

If the screen saver is to run normally use the following to tell Windows that you are taking over as a screen saver (this will disable ALT-TAB and CTRL-ALT-DEL and prevent more instances from being started):

Private Const SPI_SCREENSAVERRUNNING=97
Private Declare Function SystemParametersInfo Lib "user32" _
  Alias "SystemParametersInfoA" (ByVal uAction As Long, _
  ByVal uParam As Long, lpvParam As Any, _
  ByVal fuWinIni As Long) As Long
SystemParametersInfo SPI_SCREENSAVERRUNNING, 1, ByVal 1&, False
Before your code terminates tell Windows you are leaving with:
SystemParametersInfo SPI_SCREENSAVERRUNNING, 0, ByVal 1&, False

For more information, including sample code that handles password protected screen savers check http://www.arcatapet.com/vb.html or http://www.tiac.net/users/lvasseur/