2012-05-11 54 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