Запуск / остановка служб с использованием JNA

Я пишу утилиту для запуска и остановки служб Windows. Программа будет распространяться на многих компьютерах с разными уровнями привилегий пользователей, поэтому я не хочу использовать командную строку. Я пробовал использовать JNA,

import com.sun.jna.platform.win32.W32Service;
import com.sun.jna.platform.win32.W32ServiceManager;
import com.sun.jna.platform.win32.Winsvc;

/**
 *
 * @author 
 */
public class WindowsServices {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
      try
      {

        // TODO code application logic here
         W32ServiceManager serviceManager = new W32ServiceManager();

        W32Service service = serviceManager.openService("uvnc_service", Winsvc.SERVICE_ACCEPT_STOP);
        service.stopService();
        service.close();   
      }
      catch (Exception ex)
      {
          ex.printStackTrace();
      }


    }
}

Когда я запускаю программу, я получаю следующую ошибку

com.sun.jna.platform.win32.Win32Exception: Дескриптор недействителен. в com.sun.jna.platform.win32.W32ServiceManager.openService (W32ServiceManager.java:77) на windowsservices.WindowsServices.main (WindowsServices.java:26)

Любые предложения будут наиболее полезными.

8
задан gavioto 17 November 2016 в 17:33
поделиться