Я пишу утилиту для запуска и остановки служб 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)
Любые предложения будут наиболее полезны.