首页 > 范文大全 > 正文

基于C#的歌曲播放屏幕保护程序设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于C#的歌曲播放屏幕保护程序设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:介绍了用C#语言设计Windows屏幕保护程序的关键技术和实现方法,并在Visual Studio 2008开发环境中,实现了一个具有个性化的随机歌曲播放屏幕保护程序。

关键词:屏幕保护;C#;程序

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)22-5369-02

The Design of Music Screen-Protected Program Based on C#

SUN Cui-hua1, CAO Yan-ting2

(puter College, Soochow University Suzhou, Suzhou 215006, China; 2.Information and Electrical Engineering College, Suzhou Polytechnic Institute of Agriculture, Suzhou 215008, China)

Abstract: Introduced the key technology and implementation methods of Windows Screen-Protected Program Base on C#, and achieved a personalized screen saver random songs play in the Visual Studio 2008 development environment.

Key words: screen-protected; C#; program

在图形界面的操作系统下,显示屏上显示的色彩多种多样,当用户停止对电脑进行操作时,屏幕显示就会始终固定在同一个画面上,即电子束长期轰击荧光层的相同区域,长时间下去,会因为显示屏荧光层的疲劳效应导致屏幕老化,甚至是显像管被击穿。因此从Windows 3_X时代至今,屏幕保护程序一直作为保护CRT显示屏的最佳帮手,通过不断变化的图形显示使荧光层上的固定点不会被长时间轰击,从而避免了屏幕的损坏。

本文向大家介绍了在Visual Studio 2008开发环境中,用C#语言编写的一个具有个性化的随机歌曲播放屏幕保护程序,程序运行如图1所示。

1 关键技术研究与实现

1.1 设定程序的窗体符合屏幕保护的要求

由于屏幕保护程序是一个可执行程序,所以在编写屏幕保护程序的时候,首先按照可执行程序来设计。但屏幕保护有自身的特点,譬如:屏幕保护都是充满整个屏幕的,并且没有边框。屏幕保护运行的时候,不显示任务栏。

程序设计中实现这些特点,关键就在于对窗体的属性设置。下面是对窗体属性的设定,可以满足屏幕保护的要求,具体如下:

1)将程序的对话框设置为没有标题栏,窗体运行后,最大化,充满整个屏幕。

this.WindowState = System.Windows.Forms.FormWindowState.Maximized;

2)设置窗体运行后无边界。

this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;

3)设置在Windows任务栏中不显示窗体。

this.ShowInTaskbar = false;

1.2 字符在屏幕上不断移动的效果

实现字符在屏幕上像字符屏保一样不断移动,是通过随机函数Random的Next方法来实现的,主要代码如下:

string strinfo = "歌曲播放屏幕保护";//设置字符显示信息

int x = new Random().Next(0, width - 250);//设置显示地点的x坐标

int y = new Random().Next(50, heigh - 20);//设置显示地点的y坐标

myGraphics.DrawString(strinfo, new Font("宋体", 20, FontStyle.Bold), new SolidBrush(Color.FromArgb(new Random().Next(50, 255), new Random().Next(70, 255), new Random().Next(36, 255))),x,y);//绘制内容

1.3 随机播放歌曲

1)首先需要设置音乐文件的路径信息,由于屏保程序需要放在系统的system32文件夹下,所以音乐文件也要放在系统文件夹下,利用Environment.SystemDirectory指定路径为“C:\WINDOWS\system32”。

strpath = Environment.SystemDirectory + "\\music";

2)在计时器的Tick事件中设置屏保信息, 主要代码如下:

this.timer1.Interval = new Random().Next(800, 1600);//设置time1的时间间隔

string strname = new Random().Next(1, 20).ToString();//记录随机数

//当播放器处于空或者已经停止时

if (this.axWindowsMediaPlayer1.status == "" || this.axWindowsMediaPlayer1.status == "已停止")

{

string strUrl = strpath + "\\" + strname + ".mp3";//获取多媒体文件所处的路径

this.axWindowsMediaPlayer1.URL = strUrl;//设置播放文件的URL

}

1.4 检测键盘、鼠标状态,确定退出屏幕保护程序

在屏幕保护运行的时候,当按下键盘、按下鼠标或移动鼠标,屏幕保护都会关闭。

1)当按下键盘时,停止屏幕保护。

private void Form1_KeyDown(object sender, KeyEventArgs e)

{

StopScreenSaver();

}

2)当按下鼠标时,停止屏幕保护。

private void Form1_MouseDown(object sender, MouseEventArgs e)

{

StopScreenSaver();

}

3)当移动鼠标时,停止屏幕保护。

private void Form1_MouseMove(object sender, MouseEventArgs e)

{

if (ixStart == 0 && iyStart == 0)//如果移动了鼠标

{

ixStart = e.X;//获取当前鼠标指针的位置

iyStart = e.Y;

return;

}

else if (e.X != ixStart || e.Y != iyStart)//如果鼠标指针的位置改变

StopScreenSaver();//停止屏幕保护

}

4)停止屏幕保护。

private void StopScreenSaver()

{

System.Windows.Forms.Cursor.Show();

timer1.Enabled = false;//停止计时器

Application.Exit();//关闭工程

}

2 配置和运行

最后生成可执行文件,把screen_saver.exe改为screen_saver.scr,拷入Windows的System32目录中,然后通过设置显示属性选中这个屏幕保护程序就可以运行了。至此,这个屏幕保护程序就完成了从编写到配置的全部工作了。

3 结束语

本文介绍了利用C#语言开发一个屏幕保护程序的全过程,对开发过程中的关键技术如随机播放歌曲、外键响应事件进行了探讨,并给出了相应的解决方法。

参考文献:

[1] 梁冰,吕双,王小科.C#程序开发范例宝典[M].2版.北京:人民邮电出版社,2009.

[2] 王建芳. 基于VC的屏幕保护程序设计[J].科技信息,2011(4).

[3] 柴华,孙纳新,田颖川.使用VB6.0打造个性屏幕保护程序[J].电脑学习,2009(3).

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文