我正在尋找一種方法來找出任何 windows服務的命令行參數。如何獲取Windows服務的命令行參數?
對於非服務進程,可以在Windows任務管理器中找到命令行參數,或者使用WMI以編程方式找到命令行參數,如post所示。
不幸的是,這兩個解決方案不適用於由ServiceController.Start(String[] args)方法啓動的Windows服務。他們兩人只顯示在命令行的可執行文件的路徑,即使一些參數沒有成交。
- 有人能解釋這一差別 兩者之間的場景(服務V.S. 非服務過程)?
- 是否有 方法來找出 的Windows服務的參數?
UPDATE:
我也嘗試創建一個簡單的服務,只是記錄它在事件日誌中的任何命令行參數。我開始使用"sc.exe start <my service> <arg1>"
並驗證<arg1>
已寫入事件日誌。但是,沒有任何解決方案爲我工作。我所看到的仍然只是可執行文件的路徑。我的操作系統版本是Windows Server 2008 R2 SP1 x64企業版。
謝謝你的回答,西蒙。你也許是對的。我無法從內部郵件列表中獲得更好的答案。可能有一些不明智的方法可以解決這個問題,但我檢查了SCM API,它似乎沒有幫助。 – 2011-06-09 22:02:53