2012-05-11 53 views
-1

我正在参与编写Windows服务。在我开始写它之前,我想知道限制用户停止Windows服务

  1. 根据登录用户需要考虑哪些要点,特别是如何限制其他用户“停止服务”?
  2. 在编写服务时,我应该考虑哪些通用要点?
  3. 一旦用户尝试停止服务,我该如何显示警告提醒?

注:我想写的服务C.

感谢。

+0

有关用户的详细信息:我想知道用户(普通用户和管理员)的权限。结论是普通用户不能停止服务。一旦管理员尝试停止服务,我想知道更多关于如何显示警告窗口的信息。 – 2vision2

+0

@ user1317084:为什么?什么让你的应用如此重要以至于管理员无法正确管理他们的计算机? – Deanna

回答

4
  1. 普通用户无法停止服务。它需要管理权限。
  2. 您无法执行任何涉及写入屏幕或阅读键盘/鼠标的操作。
  3. 您需要编写一个位于后台(隐藏窗口)的应用程序,并通过一些进程间通信方法(RPC /套接字等)与服务进行通信。 应用程序将收到来自服务的消息,该消息显示消息框或以其他方式与用户进行通信。

我会尝试写C#代码(为服务&应用程序),因为大多数的辛勤工作(与SCM注册,启动/停止等)已经为你做。

+1

+1了解详情。 OP真的需要在所谓的用户上发布更多信息。 –

+0

对于#3,服务可以使用MB_SERVICE_NOTIFICATION标志或WTSSendMessage()来调用MessageBox(),直接显示一个简单的弹出消息对话框,而不需要使用单独的应用程序来代表服务处理它。但是,如果你想自定义对话框,或者显示任何其他类型的用户界面,那么是的,需要一个单独的应用程序。 –

+0

有关用户的详细信息:我想知道两个用户(普通用户和管理员)的权限。结论是普通用户不能停止服务。一旦管理员尝试停止服务,我想知道更多关于如何显示警告窗口的信息。 – 2vision2