我已經看了,但沒有找到什麼應該是一個簡單的問題:Windows服務如何確定其ServiceName?
Windows服務如何能確定它被啓動的服務名稱?
我知道的安裝可以在註冊表破解並添加命令行參數,但在邏輯上似乎像它應該是不必要的,因此這個問題。
我希望能夠比註冊表黑客更乾淨地運行單個二進制文件的多個副本。
編輯:
這是用C#編寫。我的應用程序的Main()切入點做不同的事情,這取決於 命令行參數:
- 安裝或卸載該服務。命令行可以提供非默認的 ServiceName並可以更改工作線程的數量。
- 作爲命令行可執行文件運行(用於調試),
- 作爲「Windows服務」運行。在這裏,它創建一個我的ServiceBase衍生的 類的實例,然後調用System.ServiceProcess.ServiceBase.Run(instance);
目前,安裝步驟的附加服務名稱和線程計數的的ImagePath在註冊表,以便應用程序能確定它的服務名稱。
你沒有提到什麼語言你寫的服務,。 – Walter 2009-12-03 19:09:08