2016-09-03 113 views
0

有沒有任何方法可以檢查我們的服務應用程序是否在啓動時啓動(它是在Windows中自動啓動的)還是由用戶手動啓動?檢查服務是否在啓動時從Windows啓動

因爲:我想在Windows啓動時執行一些操作,例如運行應用程序或寫入日誌,以啓動Window ...,我不希望它在用戶重新啓動服務時發生。

+0

我想你可以配置該服務不接受停止請求。 –

+0

@HarryJohnston謝謝你,但我仍然希望允許用戶在某些情況下重新啓動我的服務 – joe

+0

你有兩個獨立的功能,然後 - 你只想在系統啓動時發生的事情,其餘的。這可能是最好的辦法是有兩個單獨的服務。 (它可能仍然是一個單一的可執行文件。)或者根據您的需要,您可以讓用戶暫停並繼續您的服務,而不是停止並啓動它。我不知道有任何其他方式可以說明Windows爲何開始提供服務。 –

回答

0

使用命令,如:

sc qc "OneSyncSvc_12e036a" 

將有輸出的start_type(2 AUTO_START)

+0

謝謝,但這是用來檢查服務的安裝方式。我的意思是如何檢測我的服務在啓動時是由Windows啓動還是由某人手動啓動(因爲用戶可以運行命令net stop/net start來重新啓動我的服務),當然START_TYPE在兩種情況下總是2,所以我不能依靠它。 – joe