当前位置:文章写作网 >日记 >日记 >自己做屏保1

自己做屏保1

2007-10-26 14:44 作者:tshfang 阅读量:4304 推荐11次 | 我要投稿

首先简单介绍屏保的一些要点

(1).设定程序的窗体符合屏幕保护的要求:

由于屏幕保护程序就是一个可执行程序,所以在编写屏幕保护程序的时候,首先按照可执行程序来设计。但屏幕保护有自身的特点。譬如:

屏幕保护都是充满整个屏幕的,并且没有无边。屏幕保护运行的时候,不能显示任务栏。在程序设计中实现这些特点,关键就在于对窗体的某

些属性的设定上。下面是对窗体属性的设定,就可以满足屏幕保护的要求,具体如下:

//窗体运行后无边界

this.FormBorderStyle = FormBorderStyle.None ;

//程序运行后不显示在任务栏上

this.ShowInTaskbar = false ;

//窗体运行后,最大化,充满整个屏幕

this.WindowState = FormWindowState.Maximized;

//隐藏光标

Cursor.Hide();

//窗口总在最前

this.TopMost = true;

(2)timer控件介绍,屏保基本上要使用timer,字母屏保,图片屏保等等都需要使用.

设置timer的属性timer1.Enabled = true;

设置timer的Interval属性设置为10000(因为以milliseconds为单位,所以这里设置为10,000,也就是10s)。

timer事件只有一个timer1_Tick

private void timer1_Tick(object sender, EventArgs e)

{

}

图片屏保:随机产生一个点,然后再该处绘制预先准备好的图片。如果多张图片可以随机显示图片.

字幕屏保:可以添加一label控件,在屏幕随机移动.

(3).检测键盘、鼠标状态,确定退出屏幕保护程序:

在屏幕保护运行的时候,当键盘被按动,或者鼠标移动,屏幕保护都会关闭。在实际的程序设计中,检测键盘是否被按动,通

过"KeyDown"事件就可以判断。在程序中,判断鼠标是否移动的思路是通过二个全局变量记录下,程序刚刚运行的时候的鼠标的位置(即:X和Y

),当鼠标移动的时候,判断移动后的位置和记录的位置是否有出入,如果有出入,就关闭屏保。下面代码功能就是检测鼠标移动,并结束屏

幕保护,具体如下:

响应鼠标事件

// 把鼠标刚刚开始移动的位置给记录下来

if ( ixStart == 0 && iyStart == 0 )

{

ixStart = e.X ;

iyStart = e.Y ;

return ;

}

//判断自屏幕保护程序运行后,鼠标的位置是否变动

else if ( e.X != ixStart || e.Y != iyStart )

{

Cursor .Show ( ) ;

timer1.Enabled = false ;

Application .Exit ( ) ;

};

其中"ixStar"和"iyStart"就是记录程序运行的时候,鼠标的起始位置。

响应键盘事件

private void Form1_KeyDown(object sender, KeyEventArgs e)

{

Cursor.Show();

timer1.Enabled = false;

Application.Exit();

}

(5)对Windows对屏幕保护设定参数的响应:

当屏幕保护加入到Windows系统后,你就可以通过Windows系统来设定屏幕保护的属性了,由于我们制作的这个屏幕保护,没有可供设置

的选项,但也要对Windows的"设置"按钮进行响应。而要完成这种响应,所用的知识就是在Windows系统中按动"设置"按钮,对屏幕保护进行设

定时,其实也就对屏保程序传递"/c"字符。而要设定口令,则会传递"/a"字符,据此,可以得到代码:

if (args [ 0 ].Substring ( 0 , 2 ).Equals ( "/c" ) )

{

MessageBox.Show("此屏幕保护没有可供设置的选项!","用C#制造屏幕保护" ,

MessageBoxButtons.OK ,MessageBoxIcon.Information ) ;

Application.Exit ( ) ;

}

else if ( args [ 0 ] == "/a" )

{

MessageBox.Show("此屏幕保护没有可供设定口令的选项!","用C#制造屏幕保护" ,

MessageBoxButtons.OK ,MessageBoxIcon.Information ) ;

Application.Exit ( ) ;

}

(5)编译Windows程序

在正确编译"Screen.cs"后,可以得到"Screen.exe"文件,把"Screen.exe"改名为"Screen.scr",并拷贝到Windows的"System32"目录中去。

到屏保设置界面就可以选择我们的屏保程序了.

其他人在看啥

    《自己做屏保1》的评论 (共 0 条)

    • Guest::piaoliang
    • Guest::piaoliang