用C#写的一个简单屏幕保护程序

程序

ScreenSaver.cs

using System;
using System.Windows.Forms;

namespace ScreenSaver
{
public class DotNETScreenSaver
{
[STAThread]
static void Main(string[] args)
{
if (args.Length > 0)
{
if (args[0].ToLower().Trim().Substring(0,2) == "/c")
{
MessageBox.Show("This Screen Saver has no options you can set.", ".NET Screen Saver", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else if (args[0].ToLower() == "/s")
{
for (int i = Screen.AllScreens.GetLowerBound(0); i <= Screen.AllScreens.GetUpperBound(0); i++)
System.Windows.Forms.Application.Run(new ScreenSaverForm(i));
}
}
else
{
for (int i = Screen.AllScreens.GetLowerBound(0); i <= Screen.AllScreens.GetUpperBound(0); i++)
System.Windows.Forms.Application.Run(new ScreenSaverForm(i));
}
}
}
}

ScreenSaverForm.cs

using System;
using System.Drawing;
using System.Windows.Forms;

namespace ScreenSaver
{
public class ScreenSaverForm : System.Windows.Forms.Form
{
private Point MouseXY;
private int ScreenNumber;

public ScreenSaverForm(int scrn)
{
InitializeComponent();
ScreenNumber = scrn;
}
private void ScreenSaverForm_Load(object sender, System.EventArgs e)
{
this.Bounds = Screen.AllScreens[ScreenNumber].Bounds;
Cursor.Hide();
TopMost = true;
}

private void OnMouseEvent(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (!MouseXY.IsEmpty)
{
if (MouseXY != new Point(e.X, e.Y))
Close();
if (e.Clicks > 0)
Close();
}
MouseXY = new Point(e.X, e.Y);
}

private void ScreenSaverForm_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
Close();
}

#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
//
// ScreenSaverForm
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.BackColor = System.Drawing.Color.Black;
this.ClientSize = new System.Drawing.Size(292, 273);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "ScreenSaverForm";
this.Text = "ScreenSaver";
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ScreenSaverForm_KeyDown);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.OnMouseEvent);
this.Load += new System.EventHandler(this.ScreenSaverForm_Load);
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.OnMouseEvent);

}
#endregion
}
}

时间: 2024-12-02 17:50:10

用C#写的一个简单屏幕保护程序的相关文章

一个简单的小程序 我一天卖2000

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 请人写了一个简单的小程序,当别人提交了信息之后发送到邮箱,而邮箱是163的,开通了手机邮,也就是说,当用户提交了信息之后手机马上短信通知. 使用的是JMAIL组件.与之不同的是,发送三个邮箱. 还有一个功能就是读取数据库生成一个A4纸大的表格,可以很方便的打出来而不用录入到word.最后就是生成信封,原理同前,只是模板改成了信封. 再加上其他

java代码-我用Java 写的一个简单截图小工具 但是出现一些在重截时出现bug 跪求大神

问题描述 我用Java 写的一个简单截图小工具 但是出现一些在重截时出现bug 跪求大神 /**在这里贴上我注释满满的代码 求一语道破 求建议 求批评 没有贴main 方法 随便写个main方法便可运行 */ ` package com.subimaga; import java.awt.AWTException; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Cursor; import java.

偶写的一个简单行编辑程序(我的实习题)

/*这是清华大学<数据结构题集>实习题3中的一道题--做一个简单行编辑程序,也是我的实习作业.现已经写出来,如大家有兴趣可以看一看.本人编程水平不高,属于初学者,如有高手看到请不要见笑.程序在VC++6.0中调试通过,题目的具体要求: 打开一个文件 o<行号><文件名><回车> 行插入格式: i<行号><回车><文本><回车> 行删除格式: d<行号1>[<空格><行号2>]

Python写的一个简单监控系统

  这篇文章主要介绍了Python写的一个简单监控系统,本文讲解了详细的编码步骤,并给给出相应的实现代码,需要的朋友可以参考下 市面上有很多开源的监控系统:Cacti.nagios.zabbix.感觉都不符合我的需求,为什么不自己做一个呢 用Python两个小时徒手撸了一个简易的监控系统,给大家分享一下,希望能对大家有所启发 首先数据库建表 建立一个数据库"falcon",建表语句如下: ? 1 2 3 4 5 6 7 8 9 10 11 CREATE TABLE `stat` ( `

c#-c++写的一个简单学生信息管理系统,求助。

问题描述 c++写的一个简单学生信息管理系统,求助. 编译不报错,就是运行不出来 #include<iostream.h> #include<stdio.h> #include<string.h> class student//定义学生信息类 {public: char name[20]; char num[10]; char banji[20]; int math,english,chinese,computer; int sum; double ave; void

java-jsp+servlet写了一个简单的注册,但是出现找不到页面

问题描述 jsp+servlet写了一个简单的注册,但是出现找不到页面 小菜鸟刚写了一个简单的注册页面,但是配置好servlet以后出现找不到页面,找了好长时 间没有发现问题在哪里,希望有明白的给解释解释 解决方案 你写的是相对路径 ,一般用绝对路径 form 在 项目/page 下找相应页面,你的servlet 是映射在 项目/ 下的 你可以 在form 的action 改为 ../addUser 试试 解决方案二: 看看这个: 路径总结: 路径分为两种情况: 1.客户端路径 ==> 给浏览器

makefile-在linux写的一个简单的程序 编译不能通过 求大神给看看

问题描述 在linux写的一个简单的程序 编译不能通过 求大神给看看 解决方案 总共有3个文件 test.h test.cpp main.cpp; 在main.cpp内部调用test类实现的方法,执行make命令后,可以生成test.o和main.o但是好像链接的时候有问题, 不能生成目标问题 解决方案二: 找出问题来了 是makefile文件写的有问题 编译应该使用g++ 代码有问题的地方 希望各位指正 解决方案三: 提示信息是函数没有定义,链接返回错误.

C++写的一个简单类模版 友元函数求最大最小值

问题描述 C++写的一个简单类模版 友元函数求最大最小值 如题 , 编译时总是说 [Error] ld returned 1 exit status (编译器dev c++) using namespace std; template <typename t> class CValue { t data[5]; public: CValue(); friend t Max(CValue <t> a); friend t Min(CValue <t> a); }; tem

struts2.0-我写了一个简单的struts2登录验证但是不能跳转,找了好久也不知道为什么,请大神帮忙看一下,先谢了

问题描述 我写了一个简单的struts2登录验证但是不能跳转,找了好久也不知道为什么,请大神帮忙看一下,先谢了 解决方案 SUBMITE提交呢? 解决方案二: 解决方案三: 调试下Action方法进入了吗?