using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.ServiceProcess; using System.Text; using System.Threading; using System.Runtime.InteropServices; namespace US.Browser.Service { partial class USservice : ServiceBase { //线程对象 Thread _TestForm = null; System.Timers.Timer timer = null; public USservice() { InitializeComponent(); timer = new System.Timers.Timer(); timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed); timer.Interval = 10000; } void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { //定义 启动线程 _TestForm = new Thread(new ThreadStart(StartListen)); _TestForm.Start(); } protected override void OnStart(string[] args) { // TODO: 在此处添加代码以启动服务。 //判断当前系统是否为win7 if (!(Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows NT\\CurrentVersion").GetValue("ProductName").ToString().IndexOf("Windows 7") > -1)) { //timer.Start(); _TestForm = new Thread(new ThreadStart(StartListen)); _TestForm.Start(); } } protected override void OnStop() { // TODO: 在此处添加代码以执行停止服务所需的关闭操作。 timer.Stop(); } public void StartListen() { ServerWindows.ServiceForm(EventLog); Message tmp = new Message(); tmp.Left = System.Windows.Forms.Screen.GetWorkingArea(tmp).Width-tmp.Width; tmp.Top = System.Windows.Forms.Screen.GetWorkingArea(tmp).Height - tmp.Height; //显示窗体的代码 System.Windows.Forms.Application.Run(tmp); while (true) { Thread.Sleep(100000); } } } }