小弟用.net做的windows服务需要一个设置修改各种参数的窗体,请问如何添加窗体?
或者控制台程序是不能添加窗体的?那么如何和服务交互?
是否需要另做一个窗体来和服务TCP通信控制?小弟第一次做windows服务,麻烦知道的大大指点一下,谢谢。

解决方案 »

  1.   

    WINDOWS服务实现窗体http://blog.csdn.net/zgke/archive/2009/01/11/3751917.aspx
      

  2.   

    当然可以,许多软件都是在GUI的基础上增加“以Windows服务的方式运行”的选项。事实上,C++上,可以方便开发控制面板应用程序(CPL),许许多多Windows Service的配置可以用它来实现GUI配置。但.NET下就不能创建控制面板应用程序的项目模板了,很奇怪。我一般以正常Windows应用程序的实现用户配置界面,再增加一个Windows Service的项目,由Windows GUI来实现用户配置,安装/反安装 Windows Service和运行或停止服务的功能。若用户选择Windows Service运行模式,只要配置已经完成,之后即按正常的Windows Service的方式运行。若用户选择非Windows Service的方式运行,则业务逻辑则由正常的Windows应用程序的方式运行。
      

  3.   

    可以,代码如zgke所写那样,不过,在开启服务之前,还要设置一下:
    右击你的服务-属性-登陆-本地系统帐户(选中)-允许写桌面交互(打上勾)
      

  4.   

    非常感谢大家的回答
    我发现不用zgke的那么麻烦,直接添加设计好窗体,然后在控制台模块里
    Form1 F;
    F.ShowDialog();
    这样就可以,当然要用新线程,不然服务工作线程就卡住了不过我最终放弃了直接在服务里添加窗体的做法,另做了一个专门用来控制的窗体程序,用udp和服务通信控制,效果很棒