2010-02-18 87 views
1

某些服務無法通過服務管理控制檯啓動或停止。 ex)DcomLaunch,SamSs如何拒絕訪問服務?

這些服務的停止按鈕在服務管理 控制檯上被禁用。 因此,我們不能停止服務(即使我們有一個管理員 帳戶)

這可能嗎? 我該怎麼做?

在此先感謝。

回答

2

您的服務最終會呼叫SetServiceStatus來指定其狀態。這部分是它接受的控制。如果您不指定SERVICE_ACCEPT_STOP,則服務不能關閉。對於託管代碼,您可以在ServiceBase上設置CanStop屬性。

允許更精細控制的另一種可能性是更改服務上的ACL。 MSDN有一個示例文章here。如果您希望允許非管理員用戶能夠控制您的服務何時運行,通常會使用此功能。

請仔細考慮一下,如果您的服務不應該停止 - 用戶應該控制他們的機器並允許他們隨意停止服務。

+0

非常感謝! – Benjamin 2010-02-18 04:29:14