C#自定义电脑屏幕保护程序

本篇要做的是,让电脑用我们自己写的程序作为屏保程序。屏保程序有什么用,就不说了(严格来说,没什么用,纯粹自娱自乐。)

以下实现代码比较简单,此处采用了逐字输出一段文字作为程序内容:.

首先添加一个txt的资源文件,内容为烟花易冷的歌词。

然后设置我们的窗体无边框,黑色背景,启动最大化,最上层显示等等等等。

将下面的代码生成exe文件后,修改后缀名为scr,然后放到C:\Windows\System32目录下。

如果是win10系统的话。在桌面右键个性化->锁屏界面->屏幕保护程序设置,然后在下拉框中可以找到我们的程序,应用即可。

其他设置自行选择。

实现功能:

  • 设置电脑屏幕保护为自己的程序

开发环境:

开发工具:Visual Studio 2013

.NET Framework版本:4.5

实现代码:

private void Form1_Load(object sender, EventArgs e)
   {
       new Thread(new ThreadStart(LoadText)).Start();
   }

   /// <summary>
   /// 读取资源文件数据,并显示到页面
   /// </summary>
   private void LoadText()
   {
       int count = this.Width / 50;
       string[] textArr = Properties.Resources.烟花易冷.Split(new string[] { "\r\n" }, StringSplitOptions.None);

       Font font = new Font("楷体", 20, FontStyle.Bold);
       SolidBrush brush = new SolidBrush(Color.FromArgb(0, 192, 0));
       Graphics g = this.CreateGraphics();
       while (true)
       {
           for (int i = 0; i < textArr.Length; i++)
           {
               string text = string.Join("\r\n", textArr[i].ToArray());

               for (int j = 0; j < text.Length; j++)
               {
                   float x = this.Width / count * (i + 1) - 25;
                   g.DrawString(text[j].ToString(), font, brush, x, 18f*j);
                   Delay(50);
               }
               if (i == count || i == textArr.Length - 1)
               {
                   Delay(3000);
                   break;
               }
               Delay(300);
           }
           g.Clear(this.BackColor);
       }
   }

   //暂停
   private void Delay(double mm)
   {
       DateTime now = DateTime.Now;
       while (DateTime.Now.AddMilliseconds(-mm) <= now)
       {
           Application.DoEvents();
       }
   }

   //退出
   private void Form2_KeyDown(object sender, KeyEventArgs e)
   {
       Environment.Exit(-1);
   }

   //退出
   private void Form2_MouseCaptureChanged(object sender, EventArgs e)
   {
       Environment.Exit(-1);
   }

实现效果:

C#自定义电脑屏幕保护程序