已经知道怎么控制运行和关闭那个windows服务了:
Runtime.getRuntime().exec("net start xxxxxxx");但是怎么去查看这个服务当前的状态呢,比如当前是停止还是已经启动了?求高人指点

解决方案 »

  1.   

    一般在cmd中执行如下命令
    net start xxxxxxx
    会提示执行结果
    如果用java中的exec的话
    就要用Runtime.getRuntime().exec("cmd net start xxxxxxx");
    并且把process的outstream输出,这样就会看到结果
      

  2.   

    你说的情况只是说我操作过了这个服务之后,我才拥有这个process,才能得到它的信息我说的是你电脑一开机,没操作过这个服务,那用哪些方法来得知某服务的状态(当然,服务名字是知道的)
      

  3.   

    to:for_cyan(Cyan),你所说的提示执行结果,应该如何取得?我在想如果能拿到执行的结果的字符串,就查字符串中是否有那个服务的全名,这样还是可以知道该服务是'启动'还是尚未启动,至于'启动中'这样的状态就拿不到了
      

  4.   

    我想,您最好用本地化的方法,用c++写一个监视服务的DLL,在JAVA里面调用
       WINDOWS  API可以看服务状态的,我以前写过
      

  5.   

    楼上的说的非常正确,最好的方法就是用jni的方式,调用本地代码.