我創建了一個工具,它提供了類似的功能,從微軟的PSEXEC工具,但做到這一點從Java(如果沒有「執行」命令)https://dev.c-ware.de/confluence/display/PUBLIC/JRWShell+-+A+Java+library+for+remote+controlling+a+windows+shell自終止或卸載Windows服務
我的問題是,通常我的lib自動停止並卸載它創建的服務,但在通信失敗的情況下,這不會自動發生。我希望動態創建的Service啓動並監聽連接,並在連接關閉後終止。理想情況下,我希望Windows服務自行終止並自動卸載,但我認爲如果不使用自動清理已停止服務的第二個看門狗服務,則可能無法自行卸載。
所以我的問題是:服務是否可以卸載自己?如果是這樣,這是怎麼做的,如果不可能,我該如何讓服務自行停止?
我從來沒有嘗試過,但沒有明顯的原因,從服務本身調用時DeleteService函數的功能是行不通的。對於一個服務來說,停止它自己是微不足道的,它只是和它接收到一個停止請求時的做法完全相同,即調用SetServiceStatus並將dwCurrentState設置爲SERVICE_STOPPED。 – 2012-07-30 20:35:27
我肯定會試一試......謝謝你的指點......我是一個Java人......沒有.Net的人,所以我不習慣Apis ;-) – 2012-08-01 09:05:59