近来,由于面对屏幕时间过长,眼睛很是不舒服,想写个自动提示工作时间的服务程序来提醒自己.于是上网搜索一通,找到了一位仁兄写的03代码,移植下,就这样的剽窃了他的成果,在此先谢过了.不要追究责任哦.其实很简单的一个服务程序.就是隔一小时弹出个信息框告诫下自己要注意休息下.大概步骤是:创建一个WINDOWS服务程序,命名为:EyeService.引用下 System.Windows.Forms;用以弹出信息框.再using System.Threading;即可.源代码如下:
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Diagnostics;
using
System.ServiceProcess;
using
System.Text;
using
System.Windows.Forms;
using
System.Threading;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
namespace
EyeService
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
public partial class EyeService : ServiceBase
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
private Thread MainThread;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
public EyeService()
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
InitializeComponent();
MainThread = new Thread(new ThreadStart(ThreadFunc));
MainThread.Priority = ThreadPriority.Lowest;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
protected override void OnStart(string[] args)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
// TODO: 在此处添加代码以启动服务。
MainThread.Start();
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
protected override void OnStop()
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
MainThread.Abort();
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//// <summary>
/// 保护方法
/// </summary>
public static void ThreadFunc()
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
int LastHour = DateTime.Now.Hour;
while (true)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
System.Threading.Thread.Sleep(60000);
if (DateTime.Now.Hour - 1 == LastHour)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
MessageBox.Show("为了保护您的眼睛,请您暂时休息5分钟并向远处眺望!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
LastHour = DateTime.Now.Hour;
}
}
}
}
}
添加安装程序,将serviceInstaller1启动类型改为:Automatic以便开机即运行此服务.其他属性根据个人爱好更改即可.最后安装下此服务后,在控制面板的服务列表中就可以看到了.
![](https://p-blog.csdn.net/images/p_blog_csdn_net/jiangshaofen/EyeService1.jpg)
运行一小时后弹出信息框:
![](https://p-blog.csdn.net/images/p_blog_csdn_net/jiangshaofen/EyeService.jpg)