1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Diagnostics;
6using System.ServiceProcess;
7using System.Text;
8using System.Windows.Forms;
9using System.Threading;
10
11namespace EyeService
12{
13 public partial class EyeService : ServiceBase
14 {
15 private Thread MainThread;
16
17 public EyeService()
18 {
19 InitializeComponent();
20 MainThread = new Thread(new ThreadStart(ThreadFunc));
21 MainThread.Priority = ThreadPriority.Lowest;
22 }
23
24 protected override void OnStart(string[] args)
25 {
26 // TODO: 在此处添加代码以启动服务。
27 MainThread.Start();
28 }
29
30 protected override void OnStop()
31 {
32 // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
33 MainThread.Abort();
34 }
35 /// <summary>
36 /// 保护方法
37 /// </summary>
38 public static void ThreadFunc()
39 {
40 int LastHour = DateTime.Now.Hour;
41 while (true)
42 {
43 System.Threading.Thread.Sleep(60000);
44 if (DateTime.Now.Hour - 1 == LastHour)
45 {
46 MessageBox.Show("为了保护您的眼睛,请您暂时休息5分钟并向远处眺望!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
47 LastHour = DateTime.Now.Hour;
48 }
49 }
50 }
51 }
52}
添加安装程序,将serviceInstaller1启动类型改为:Automatic以便开机即运行此服务.其他属性根据个人爱好更改即可.最后安装下此服务后,在控制面板的服务列表中就可以看到了.2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Diagnostics;
6using System.ServiceProcess;
7using System.Text;
8using System.Windows.Forms;
9using System.Threading;
10
11namespace EyeService
12{
13 public partial class EyeService : ServiceBase
14 {
15 private Thread MainThread;
16
17 public EyeService()
18 {
19 InitializeComponent();
20 MainThread = new Thread(new ThreadStart(ThreadFunc));
21 MainThread.Priority = ThreadPriority.Lowest;
22 }
23
24 protected override void OnStart(string[] args)
25 {
26 // TODO: 在此处添加代码以启动服务。
27 MainThread.Start();
28 }
29
30 protected override void OnStop()
31 {
32 // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
33 MainThread.Abort();
34 }
35 /// <summary>
36 /// 保护方法
37 /// </summary>
38 public static void ThreadFunc()
39 {
40 int LastHour = DateTime.Now.Hour;
41 while (true)
42 {
43 System.Threading.Thread.Sleep(60000);
44 if (DateTime.Now.Hour - 1 == LastHour)
45 {
46 MessageBox.Show("为了保护您的眼睛,请您暂时休息5分钟并向远处眺望!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
47 LastHour = DateTime.Now.Hour;
48 }
49 }
50 }
51 }
52}
运行一小时后弹出信息框: