有沒有任何方法可以檢查我們的服務應用程序是否在啓動時啓動(它是在Windows中自動啓動的)還是由用戶手動啓動?檢查服務是否在啓動時從Windows啓動
因爲:我想在Windows啓動時執行一些操作,例如運行應用程序或寫入日誌,以啓動Window ...,我不希望它在用戶重新啓動服務時發生。
有沒有任何方法可以檢查我們的服務應用程序是否在啓動時啓動(它是在Windows中自動啓動的)還是由用戶手動啓動?檢查服務是否在啓動時從Windows啓動
因爲:我想在Windows啓動時執行一些操作,例如運行應用程序或寫入日誌,以啓動Window ...,我不希望它在用戶重新啓動服務時發生。
使用命令,如:
sc qc "OneSyncSvc_12e036a"
將有輸出的start_type(2 AUTO_START)
謝謝,但這是用來檢查服務的安裝方式。我的意思是如何檢測我的服務在啓動時是由Windows啓動還是由某人手動啓動(因爲用戶可以運行命令net stop/net start來重新啓動我的服務),當然START_TYPE在兩種情況下總是2,所以我不能依靠它。 – joe
我想你可以配置該服務不接受停止請求。 –
@HarryJohnston謝謝你,但我仍然希望允許用戶在某些情況下重新啓動我的服務 – joe
你有兩個獨立的功能,然後 - 你只想在系統啓動時發生的事情,其餘的。這可能是最好的辦法是有兩個單獨的服務。 (它可能仍然是一個單一的可執行文件。)或者根據您的需要,您可以讓用戶暫停並繼續您的服務,而不是停止並啓動它。我不知道有任何其他方式可以說明Windows爲何開始提供服務。 –