/** * Ask the ServiceControlManager to start the service. * * @return true on success */ public boolean start() { Advapi32 advapi32; SC_HANDLE serviceManager, service; boolean success = false; advapi32 = Advapi32.INSTANCE; serviceManager = openServiceControlManager(null, WinNT.GENERIC_EXECUTE); if (serviceManager != null) { service = advapi32.OpenService(serviceManager, serviceName, WinNT.GENERIC_EXECUTE); if (service != null) { success = advapi32.StartService(service, 0, null); advapi32.CloseServiceHandle(service); } advapi32.CloseServiceHandle(serviceManager); } return (success); }