public boolean uninstall() { boolean success = false; SC_HANDLE serviceManager = openServiceControlManager(null, Winsvc.SC_MANAGER_ALL_ACCESS); if (serviceManager != null) { SC_HANDLE service = ADVAPI_32.OpenService(serviceManager, serviceName, Winsvc.SERVICE_ALL_ACCESS); if (service != null) { success = ADVAPI_32.DeleteService(service); ADVAPI_32.CloseServiceHandle(service); } ADVAPI_32.CloseServiceHandle(serviceManager); } return success; }
public boolean start() { boolean success = false; SC_HANDLE serviceManager = openServiceControlManager(null, WinNT.GENERIC_EXECUTE); if (serviceManager != null) { SC_HANDLE service = ADVAPI_32.OpenService(serviceManager, serviceName, WinNT.GENERIC_EXECUTE); if (service != null) { success = ADVAPI_32.StartService(service, 0, null); ADVAPI_32.CloseServiceHandle(service); } ADVAPI_32.CloseServiceHandle(serviceManager); } return success; }
public boolean stop() { boolean success = false; SC_HANDLE serviceManager = openServiceControlManager(null, WinNT.GENERIC_EXECUTE); if (serviceManager != null) { SC_HANDLE service = Advapi32.INSTANCE.OpenService(serviceManager, serviceName, WinNT.GENERIC_EXECUTE); if (service != null) { SERVICE_STATUS serviceStatus = new SERVICE_STATUS(); success = Advapi32.INSTANCE.ControlService(service, Winsvc.SERVICE_CONTROL_STOP, serviceStatus); Advapi32.INSTANCE.CloseServiceHandle(service); } Advapi32.INSTANCE.CloseServiceHandle(serviceManager); } return success; }
/** * Opens a Service. * @param serviceName * Service name. * @param permissions * Permissions. * @return * Returns an opened service. */ public W32Service openService(String serviceName, int permissions) { SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService( _handle, serviceName, permissions); if (serviceHandle == null) { throw new Win32Exception(Kernel32.INSTANCE.GetLastError()); } return new W32Service(serviceHandle); }
/** * Opens a Service. * @param serviceName * Service name. * @param permissions * Permissions. * @return * Returns an opened service. */ public W32Service openService(String serviceName, int permissions) { SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService( _handle, serviceName, permissions); if (serviceHandle == null) { throw new Win32Exception(Kernel32.INSTANCE.GetLastError()); } return new W32Service(serviceHandle); }