65.9K
CodeProject 正在变化。 阅读更多。
Home

Andrew的CodeProject屏幕保护程序

starIconstarIconstarIconstarIconstarIcon

5.00/5 (8投票s)

2002 年 5 月 20 日

3分钟阅读

viewsIcon

220163

downloadIcon

470

(又是)一个 Code Project 竞赛的屏幕保护程序,使用 C# 代码编写,(即将推出)有关代码中涉及的某些方面如何工作的详细信息。

引言

Options panel

是的,伙计们,我的秘密被发现了! 我一直在为比赛开发屏幕保护程序。“咦?” 我听到你们都在说。 好吧,最近我真的很忙,所以不想大张旗鼓,然后又没有完成。 幸运的是,经过几个星期我的 C# 屏幕保护程序听起来更像是 F 自然调(groan),我终于设法及时完成了这个小东西,赶上了投票表的发布。

在我继续之前,请允许我向 Chris 致以衷心的感谢,首先感谢他抓住了 CP 比赛的绝妙想法,其次感谢他在他的机器上构建了最终的 .exe 文件,以使我免受 Beta 2 的困扰(哦,它们还在不断涌现!)。

以下是屏幕保护程序的主要功能简介

  • 在单独的线程中下载数据,以免阻塞用户界面
  • 检测用户是否处于脱机状态
  • 如果与服务器的连接失败,将在五分钟后重试
  • 令人毛骨悚然的图形
  • 可为速度较慢的机器等用户自定义动画速度。

安装

安装就像馅饼一样简单

  1. CP Screensaver.scr 复制到您的 Windows 系统文件夹中。
  2. Images 文件夹作为 Windows 系统文件夹的子文件夹复制。
  3. 从“显示属性”中选择“CP Screensaver”。

完成!

工作原理

稍后回来查看! 将要介绍的主要领域是

  • 双缓冲
  • Alpha 混合(淡入淡出效果)
  • 状态管理
  • 多显示器支持(假设它确实像我预期的那样工作,请参见下文)。

多显示器

不幸的是,我没有运行多显示器系统,这意味着,虽然我添加了对多显示器的支持(不是特别高效的支持,我承认),但我无法在此类配置上测试保护程序。如果您能够使用多个显示器尝试使用该保护程序,我将有兴趣在文章底部的评论部分中听到您的成功/失败经历。

待办

屏幕保护程序在未来肯定还有一段路要走,但我暂时没有时间来处理它。以下是我计划要做的事情清单,大致想法如下

  • 巧妙的动画背景,在升降平台灯光上使用 Alpha 混合
  • 本地数据缓存,因此如果用户未连接,他们仍然可以从上次保护程序设法连接时看到帖子列表等。
  • 更好地处理非常高和非常低的分辨率(也许以某种方式利用额外的空间?)
  • 更好的多显示器支持
  • 一些优化(有一些循环不变量需要整理,但没有什么太大的问题)

结论

好的 - 所以我希望你喜欢已经存在的东西。代码绝对不是最整洁的形式,因为我将这个项目用作边学边用 C# 的项目,所以可能存在一些粗糙的边缘,尽管总的来说它还是相当合理的。

Andrew 的 CodeProject 屏幕保护程序 - CodeProject - 代码之家
© . All rights reserved.