我创建了一个工具,它提供了类似的功能,从微软的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