自己动手写屏保

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

电子书《自己动手写神经网络》2016总结

《自己动手写神经网络》有1万7000多个阅读,非常感谢大家对神经网络的厚爱,很多人反映内容有点少,因为也就A4纸 60多页吧。。所以很多人看的不过瘾,2016年的目标就是再增加点内容,争取能成为纸书。...
  • championchen79
  • championchen79
  • 2016年01月20日 17:31
  • 1481

自己动手写CPU 笔记

自己动手写CPU 跳转至: 导航、 搜索 目录 1 处理器与MIPS2 可编程逻辑器件与Verilog HDL3 教学版OpenMIPS处理...
  • cteng
  • cteng
  • 2014年10月30日 17:13
  • 2035

学习《自己动手写网络爬虫》之记录1

某天突发奇想,想自己写一个网络爬虫,然后上网查了前辈们的经历,发现网络爬虫好处多多,于是坚定了自己的决心。再上网一找,看到好多人推荐这本书,于是就以这本书为参考来实现自己的网络爬虫了! 首先都是照着...
  • int_line
  • int_line
  • 2015年04月01日 11:23
  • 3312

《自己动手写Docker》书摘之一: Linux Namespace

Linux Namespace 介绍我们经常听到说Docker 是一个使用了Linux Namespace 和 Cgroups 的虚拟化工具,但是什么是Linux Namespace 它在Docker...
  • a352193394
  • a352193394
  • 2016年11月25日 23:41
  • 3218

自己动手写一个web框架(一):实现IOC与MVC

最近这段时间在研究怎么写一个web框架,自己也动手写了个雏形,在这个过程中受益良多。写个文章记录下思路。另外,强烈推荐《架构探险:从零开始写Java Web框架》这本书,虽然我现在只看了第三章和第四章...
  • u012422829
  • u012422829
  • 2015年11月12日 17:40
  • 1472

自己动手写网络爬虫(第一天)

现在是2015年12月10日晚上21:56,我坐在自己的电脑面前发呆,忽然想起自己的笔记本里还雪藏着好东西羡慕羡慕羡慕,赶紧在臃肿的电脑磁盘里找啊找啊, 哎呦喂,我擦,到底有啥东西,(搜刮过程自...
  • lq8841149
  • lq8841149
  • 2015年12月10日 23:27
  • 538

自己动手写编译器、链接器-第一章

自己动手写编译器、链接器-第一章
  • u013407592
  • u013407592
  • 2015年02月09日 15:48
  • 742

自己动手写搜索引擎

实现了一个搜索引擎,可以检索csdn网站的所有博客文章,当然,最新的文章是没有的。    先说下项目思路吧, 整个项目分为6个子程序:        爬虫1:爬取所有csdn网站的网页,并将爬到的博客...
  • kyt511
  • kyt511
  • 2015年08月14日 14:49
  • 1778

《自己动手写Docker》书摘之二---Linux Cgroups介绍

Linux Cgroups介绍上面是构建Linux容器的namespace技术,它帮进程隔离出自己单独的空间,但Docker又是怎么限制每个空间的大小,保证他们不会互相争抢呢?那么就要用到Linux的...
  • a352193394
  • a352193394
  • 2016年11月28日 17:33
  • 2028

《自己动手写cpu》读书笔记

本文来自《自己动手写cpu》一书的总结。原来自己看过原作者的《步步惊芯--软核处理器分析》以及其他关于or1200的书。本次粗略浏览了该书,就某些感兴趣的部分详细分析,并总结成此文。...
  • lijiuyangzilsc
  • lijiuyangzilsc
  • 2016年05月04日 13:28
  • 1937
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自己动手写屏保
举报原因:
原因补充:

(最多只允许输入30个字)