返回首页

我创建了一个窗口服务,现在我想创建一个服务的图形用户界面,通过它,我能够启动,停止,重新启动和暂停服务。我的要求是:"我想有四个按钮,添加服务的形式。"
如何添加Windows服务的形式,以及如何以互动形式和服务之间的
是可以添加图形用户界面的Windows服务?

回答

评论会员:SAKryukov 时间:2012/02/08
,阿比纳夫解释,你不能添加用户界面的Windows服务

你可以做什么正在开发一个单独的Windows应用程序与您的服务交互。要实现你所需要的操作,这个应用程序应该使用类System.ServiceProcess.ServiceController,请参阅:
]

mdash; SA
评论会员:游客 时间:2012/02/08
这是不可能添加GUI窗口服务然而,你可以让UI的沟通与现有的服务。你总是可以添加一个动态的控制-添加一个Windows窗体,请参阅{A}]
埃斯Harlinn
评论会员:游客 时间:2012/02/08
默认情况下,服务使用非交互式窗口站,不能与用户进行交互。然而,互动服务可以显示用户界面,接受用户输入。注意:在升高,如LocalSystem帐户的安全上下文中运行的服务,不应该在交互式桌面上创建一个窗口,因为在交互式桌面上运行任何其他应用程序可以与此窗口。这暴露了登录的用户执行的任何应用程序的服务。此外,作为LocalSystem运行的服务不应该由,调用​​OpenWindowStation或GetThreadDesktop功能访问的交互式桌面。创造一个互动的服务,做以下时,调用的CreateService功能:1.SpecifyNULL为lpServiceStartName参数LocalSystem帐户的上下文中运行的服务。2.SpecifySERVICE_INTERACTIVE_PROCESS标志。要确定服务是否运行作为一个交互式的服务,致电GetProcessWindowStation功能,检索窗口站句柄,和GetUserObjectInformation功能,以测试是否窗口站WSF_VISIBLE的属性。但是,请注意以下注册表项中包含一个值,NoInteractiveServices,控制效果SERVICE_INTERACTIVE_PROCESS:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\控制\WINDOWSNoInteractiveServices值默认为0,这意味着,与SERVICE_INTERACTIVE_PROCESS服务允许以交互方式运行。当NoInteractiveServices设置为非零值,没有服务开始后允许以交互方式运行,而不管是否有SERVICE_INTERACTIVE_PROCESS。 重要的是:在终端服务会话0中运行的所有服务。因此,如果一个交互式服务,显示用户界面,它仅是可见的用户连接到会话0。因为没有办法保证交互式用户连接到会话0,不配置服务运行终端服务下的交互式服务或系统支持快速用户切换(快速用户切换使用终端服务来实现)你需要在Application.Run中只有一个线程执行。因此,它可以创造一个互动的服务,但通常是不值得的努力。最好的问候埃斯Harlinn
霍华德罗宾逊:正如其他人所说,设计一个交互式窗口服务时要加倍小心。看到这项:在Windows服务问题上充分讨论的话题
{A2的}]