以文本方式查看主题 - 爱心论坛 (http://zqax.net/bbs/index.asp) -- 平面设计 网页设计 (http://zqax.net/bbs/list.asp?boardid=43) ---- 如何编写屏保 (http://zqax.net/bbs/dispbbs.asp?boardid=43&id=26921) |
-- 作者:小猴乖乖 -- 发布时间:2007/8/23 7:13:46 -- 如何编写屏保 如何编写屏保 关键词:VBScript 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/ |