近来,由于面对屏幕时间过长,眼睛很是不舒服,想写个自动提示工作时间的服务程序来提醒自己.于是上网搜索一通,找到了一位仁兄写的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;
namespace EyeService
... {
public partial class EyeService : ServiceBase
...{
private Thread MainThread;
public EyeService()
...{
InitializeComponent();
MainThread = new Thread(new ThreadStart(ThreadFunc));
MainThread.Priority = ThreadPriority.Lowest;
}
protected override void OnStart(string[] args)
...{
// TODO: 在此处添加代码以启动服务。
MainThread.Start();
}
protected override void OnStop()
...{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
MainThread.Abort();
}
/**//// <summary>
/// 保护方法
/// </summary>
public static void ThreadFunc()
...{
int LastHour = DateTime.Now.Hour;
while (true)
...{
System.Threading.Thread.Sleep(60000);
if (DateTime.Now.Hour - 1 == LastHour)
...{
MessageBox.Show("为了保护您的眼睛,请您暂时休息5分钟并向远处眺望!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
LastHour = DateTime.Now.Hour;
}
}
}
}
}
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;
namespace EyeService
... {
public partial class EyeService : ServiceBase
...{
private Thread MainThread;
public EyeService()
...{
InitializeComponent();
MainThread = new Thread(new ThreadStart(ThreadFunc));
MainThread.Priority = ThreadPriority.Lowest;
}
protected override void OnStart(string[] args)
...{
// TODO: 在此处添加代码以启动服务。
MainThread.Start();
}
protected override void OnStop()
...{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
MainThread.Abort();
}
/**//// <summary>
/// 保护方法
/// </summary>
public static void ThreadFunc()
...{
int LastHour = DateTime.Now.Hour;
while (true)
...{
System.Threading.Thread.Sleep(60000);
if (DateTime.Now.Hour - 1 == LastHour)
...{
MessageBox.Show("为了保护您的眼睛,请您暂时休息5分钟并向远处眺望!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
LastHour = DateTime.Now.Hour;
}
}
}
}
}
添加安装程序,将serviceInstaller1启动类型改为:Automatic以便开机即运行此服务.其他属性根据个人爱好更改即可.最后安装下此服务后,在控制面板的服务列表中就可以看到了.
运行一小时后弹出信息框: