日期:2014-05-17  浏览次数:20468 次

windows 服务程序 可以有界面吗?


一个winform服务器端转换程序,我想做成windows服务,这样就可以自动启动。


windows 服务程序     可以有界面吗?

------解决方案--------------------
既然自动启动了楼主就不用界面了。关闭可以在程序里处理。我以前做的没有用界面
------解决方案--------------------
Windows的设计初衷是就为了没有界面,要是想有界面你可以换一种方式,控制台/Window Form/WPF
------解决方案--------------------
你完全可以使用一个普通的桌面程序和Windows服务程序通讯,而实现通过界面操作那个服务程序。

经典的例子是SQL Server。SQL Server的服务没有界面,无需登录就可以跑。但是可以通过独立的Management Studio去操作管理它,但是后者是独立的。
------解决方案--------------------
你可以用服务作为自动处理的程序,再用个frm作为管理程序,可以通过一些参数来连接两者关系,比如数据。。。
------解决方案--------------------
可以。但是需要在服务的参数设置中,设置“允许桌面交互”。

通常当你搞是一个比较重要、甚至有些庞大的服务时,你可能仅搞一个非常简单、只有十几行代码的“守护进程”服务程序,然后用它每隔几秒钟就通过Process对象查询一下进程,并且启动真正的业务服务进程。而这个业务服务进程则可能是Console的程序、WPF的程序,甚至可能是一个Excel或者Word文档(带有宏的),都可以。
------解决方案--------------------
“有界面的”基本上应该做一个客户端应用程序来设计。例如你可以在windows server的安装路径下某个子目录,把一个wpf桌面小程序的click once发布文件拷贝进去,然后网路上的任何终端都可以运行这个目录下的setup.exe程序来安装到自己的桌面,并且可以每次启动时(或者启动后)自动从这个原始目录更新版本。这样,虽然部署在一起(所谓部署,其时就是copy,因为.net程序只要copy即可运行),但是其实仍然是“服务器-客户端”分开的。你的“有界面的”程序就是客户端程序,它跟服务器程序进行通讯。