建一个windows 控制台程序,通过输入不同的参数,可以使该程序既可以作为普通的windows程序运行也可以作为windows service程序运行,该怎么做?

解决方案 »

  1.   

    先建一下service 然后改main()为:
    static void Main(string[] args)
    {
    if(args.Length > 0 && args[0] == "cmd")
    {
    }
    else
    {
    System.ServiceProcess.ServiceBase[] ServicesToRun;
    ServicesToRun = new System.ServiceProcess.ServiceBase[] { new TestService() };
    System.ServiceProcess.ServiceBase.Run(ServicesToRun);
    }
    }
      

  2.   

    好像不行吧。windows application与service区别大着呢,一个不需要安装,一个需要建setup程序。
      

  3.   

    需要写两个应用程序(一个Win ; 一个Service)
      

  4.   

    我感到困惑的是,如果我建一个windows控制台程序,其中会有一个main()函数,可以接受不同的参数。而在service程序中也有一个main()函数。而一个程序中是不能存在两个main()函数的。我想做到的效果是在cmd窗口中:c:\app -install     (以windows service运行)
    也可以这样:
    c:\app -run          (以普通的windows exe程序运行)
      

  5.   

    通常做法是一个win;一个service
    但是客户要求做成一个,不知道这么做有没有可行性。