标签:
http://item.jd.com/733388.html
using System; using System.Collections.Generic; using System.Linq; using System.ServiceProcess; using System.Text; namespace WindowsService1 { static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> static void Main() { Service1 s = new Service1(); if (Environment.UserInteractive) { s.DebugStart(); Console.ReadKey(); s.DebugStop(); } else { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { s }; ServiceBase.Run(ServicesToRun); } } } }
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; namespace WindowsService1 { public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { this.ServiceStart(); } protected override void OnStop() { this.ServiceStop(); } internal void DebugStart() { this.ServiceStart(); } internal void DebugStop() { this.ServiceStop(); } private void ServiceStart() { // TODO: } private void ServiceStop() { // TODO: } } }
关键就在对Environment.UserInteractive的判断上,
请看MSDN上面的解释:
获取一个值,用以指示当前进程是否在用户交互模式中运行。
UserInteractive 属性为运行时无用户界面的 Windows 进程或一个服务(如 IIS)报告 false。 如果此属性为 false,请不要显示模式对话框或消息框,因为没有用来与用户进行交互的图形用户界面。
http://msdn.microsoft.com/zh-cn/library/system.environment.userinteractive(v=VS.100).aspx
然后看一下Service1.cs中的代码:
最后:更改Project的输出类型
右击该Project,点击Properties,在Application标签中,更改Output Type为Console Application。
OK啦,按F5试试
转载自http://www.cnblogs.com/builderman/archive/2011/06/14/2081045.html
标签:
原文地址:http://www.cnblogs.com/jzzgci/p/4309340.html