自己动手写屏保

屏保程序非常简单,它只是一个扩展名为“.scr”,全屏运行,并符合一定规则的应用程序,我们可以用任何语言来进行开发。
屏保程序放置在系统的System32目录下面,被系统自动调用执行。当系统执行屏保程序时,它会要求带上一个不同的命令参数,以实现不同的功能,如正常运行,预览,设置等。我们只要在程序中为不同参数实现不同的功能,我们的程序就可以被系统正常地调用了。以下列出全部的命令参数及其意义:
命令行参数 意义详解
/s 正常运行屏保程序(到时间系统自动调用), 一般要求为接收到键盘事件时退出,屏蔽鼠标事件及其显示
/a 允许在用户结束屏保运行时,显示一个密码输入对话框(WIN98需要自已实现对话框,WIN2000及以后可自动返回锁定时的登录对话框,此参数可以不必使用)
/c 在屏保选取配置时,显示本屏保程序的参数设置对话框
/p 在屏保选取配置时,预览屏保程序,一般要求为可接收键盘或鼠标事件后返返

在C#中我们可以这样实现:
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
public class MyScreenSaver : System.Windows.Forms.Form
{
public static void Main(string arg)
{
Application.Run(new MyScreenSaver(arg)); //把参数传到Form中去
}
public MyScreenSaver(string arg)
{
//实现全屏显示
this.Width = Screen.PrimaryScreen.Bounds.Width;
this.Height = Screen.PrimaryScreen.Bounds.Height;
this.Left = 0;
this.Top = 0;
switch(arg.ToLower())
{
case "/s":
/*...正常运行实现代码*/
break;
case "/a":
/*...密码对话框实现代码*/
break;
case "/c":
/*...参数设置实现代码*/
break;
case "/p":
/*...预览实现代码*/
break;
default:
Application.Exit(); //其它情况退出
break;
}
/*...其它代码*/
}
/*...它代码*/
}

程序成后,把生成的EXE扩展名改变“.scr”,再复制到System32下便可。然后你就可以在桌面-->“显示属性”-->“屏幕保护程序”去选取,并进行其它相关的操作(设置,预览等)了.

时间: 2024-08-09 11:28:10

自己动手写屏保的相关文章

一键找出Win7隐藏的彩球屏保

在我们每个人的心底,都想自己的电脑都与众不同,如果实在没有办法不同,也要设法设置出不同的效果,例如Win7主题可以与众不同,壁纸.声音.图标--还有屏保,就是屏幕保护程序. 在Windows7自带屏保中,"气泡"深受大家的喜爱.或许你不知道,Win7除了默认的气泡屏保外,还隐藏了一个不一样的,更炫的"升级版"气泡屏保,也就是软媒小编说的"彩球"屏保. 图1:Win7自带的气泡屏保 图2:隐藏的彩球屏保 电脑常识 想要体验图2的彩球样式,我们只需要

修改注册表给 Windows 7屏保换花样

相比XP,Win7自带的屏保靓多了,不过看久了也有点腻,通过简单修改,我们完全可以玩出不同花样! 让气泡屏保变成气球屏保 Win7自带有气泡屏保,看起来不是那么好看,果断动手修改吧! 首先运行注册表编辑器regedit,依次进入 "HKEY_CURRENT_USER→Software→Microsoft→Windows→CurrentVersion→Screensavers,用鼠标右键点击Bubbles项,依次选择"新建→DWORD(32-位值)",将其命名为"Ma

修改注册表 Windows 7屏保新花样

  让气泡屏保变成气球屏保 Win7自带有气泡屏保,看起来不是那么好看,果断动手修改吧! 首先运行注册表编辑器regedit,依次进入"HKEY_CURRENT_USER→Software→Microsoft→Windows→CurrentVersion→Screensavers,用鼠标右键点击Bubbles项,依次选择"新建→DWORD(32-位值)",将其命名为"MaterialGlass",然后双击"MaterialGlass",

带你玩转丰富多彩的WIN7系统屏保程序

Win7自带了酷炫的屏保,让许多用户们都很喜欢,不过这些屏保在看久了之后,也会觉得乏味.那么怎么才能让屏保变得更加靓丽多彩呢?现在就让小编教你几个小技巧吧. 让气泡屏保变成气球屏保 Win7自带有气泡屏保,看起来不是那么好看,果断动手修改吧! 首先运行注册表编辑器regedit,依次进入 "HKEY_CURRENT_USER→Software→Microsoft→Windows→CurrentVersion→Screensavers,用鼠标右键点击Bubbles项,依次选择"新建→DW

如何让Windows7系统屏保变得多样化

Win7自带了酷炫的屏保,让许多用户们都很喜欢,不过这些屏保在看久了之后,也会觉得乏味.那么怎么才能让屏保变得更加靓丽多彩呢?现在就让小编教你几个小技巧吧. 让气泡屏保变成气球屏保 Win7自带有气泡屏保,看起来不是那么好看,果断动手修改吧! 首先运行注册表编辑器regedit,依次进入 "HKEY_CURRENT_USER→Software→Microsoft→Windows→CurrentVersion→Screensavers,用鼠标右键点击Bubbles项,依次选择"新建→DW

仿linux系统九宫格屏保程序:js网页版

警告:以下代码由季雨林本人探索写出,经过IE,FireFox,Chrome测试 发现Chrome(以及360的极速浏览器)浏览器对于javascript的支持明显胜于其他浏览器,请勿在电脑上长时间开启该页面,即使是js引擎强大的Chrome也会在运行半小时之后占用满内存,而其他浏览器甚至不能流畅运行,该页面制作初衷是为了仿造一种屏幕保护效果(雨林木风Linux系统:九宫格屏保),页面刚启动时的CPU占用达到顶峰时开始正常速度运行(200ms切换颜色) 代码如下(新建文本文件写入以下代码,然后把该

如何调用系统下屏保的API?

问题描述 想做个屏保的功能...上网查了些资料...尝试着写出来然后运行但是结果是完全没有效果..不知道是哪里出了错也用了try...catch...但是没有任何提示...希望有人做过的话来帮帮忙解决吧...//屏保状态constuintSPI_SETSCREENSAVEACTIVE=0x0011;//获取屏幕壁纸地址constuintSPI_GETDESKWALLPAPER=0x0073;[DllImport("user32.dll",CharSet=CharSet.Auto,Set

《精通Android 5 多媒体开发》——第22章,第22.3节开发一个屏保程序

22.3 开发一个屏保程序精通Android 5 多媒体开发了解了在Android系统中开发屏保程序的基本原理后,在本节的内容中,将通过一个具体实例的实现流程,来详细讲解开发Android屏保程序的基本流程.本实例的源代码保存在"daima22pingbao"中,下面开始讲解本实例的具体实现流程. 22.3.1 准备素材图片在本实例中,设置屏保程序轮换显示5幅图片,图片的大小是320×480.本实例的素材图片保存在"resdrawable"目录下,效果如图22-1所

Win7和Win8系统下笔记本无法实现自动待机屏保的解决方法

Win7和Win8系统的笔记本可以在菜单里手动点击进入睡眠.休眠的状态,但是无法自动进入睡眠.待机状态.屏保,电源选项中设置正常. 原因分析: 当开启演示模式后,电脑将保持唤醒的状态,此时电脑不会自动进入睡眠.休眠状态,屏幕亮度也不会自动降低也不会进入屏幕保护状态. 解决方案: 建议用Win+X 打开移动中心,将演示模式关闭即可. 备注: 1. 只有笔记本电脑才能调出移动中心,台式机并无移动中心 2. 开启演示模式后,任务栏右下角会出现一个投影仪状的图标