自己动手写屏保

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

屏保程序非常简单,它只是一个扩展名为“.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下便可。然后你就可以在桌面-->“显示属性”-->“屏幕保护程序”去选取,并进行其它相关的操作(设置,预览等)了.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航