Пример #1
0
 public void Install()
 {
     using (var servicemanager = NativeServiceManager.Open())
     {
         using (var service = servicemanager.CreateService(this.ServiceName, this.ServiceName, "\"" + Assembly.GetExecutingAssembly().Location + "\" -service", ServiceRights.AllAccess, StartType))
         {
         }
     }
 }
Пример #2
0
 public void Install()
 {
     using (var servicemanager = NativeServiceManager.Open())
     {
         using (var service = servicemanager.CreateService(this.ServiceName, this.ServiceName, "\"" + Assembly.GetExecutingAssembly().Location + "\"", ServiceRights.AllAccess))
         {
             service.Start(new string[] { });
         }
     }
 }
Пример #3
0
        public static NativeServiceManager Open()
        {
            NativeServiceManager handle = OpenSCManager(null, null, ServiceManagerRights.Connect | ServiceManagerRights.CreateService);

            if (handle.IsClosed || handle.IsInvalid)
            {
                Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error());
            }
            return(handle);
        }
Пример #4
0
 public void Start(string[] args)
 {
     using (var servicemanager = NativeServiceManager.Open())
     {
         using (var service = servicemanager.OpenService(this.ServiceName, ServiceRights.AllAccess))
         {
             service.Start(args);
         }
     }
 }
Пример #5
0
 public void Uninstall()
 {
     using (var servicemanager = NativeServiceManager.Open())
     {
         using (var service = servicemanager.OpenService(this.ServiceName, ServiceRights.AllAccess))
         {
             service.Stop();
             service.Delete();
         }
     }
 }
Пример #6
0
 protected static extern NativeService CreateService(
     NativeServiceManager hSCManager,
     string lpServiceName,
     string lpDisplayName,
     ServiceRights dwDesiredAccess,
     ServiceType dwServiceType,
     ServiceStartType dwStartType,
     ServiceErrorControl dwErrorControl,
     string lpBinaryPathName,
     string lpLoadOrderGroup,
     IntPtr lpdwTagId,
     string lpDependencies,
     string lpServiceStartName,
     string lpPassword
     );
 protected static extern NativeService OpenService(
     NativeServiceManager hSCManager,
     string lpServiceName,
     ServiceRights dwDesiredAccess
 );
 protected static extern NativeService CreateService(
     NativeServiceManager hSCManager,
     string lpServiceName,
     string lpDisplayName,
     ServiceRights dwDesiredAccess,
     ServiceType dwServiceType,
     ServiceStartType dwStartType,
     ServiceErrorControl dwErrorControl,
     string lpBinaryPathName,
     string lpLoadOrderGroup,
     IntPtr lpdwTagId,
     string lpDependencies,
     string lpServiceStartName,
     string lpPassword
 );
Пример #9
0
 protected static extern NativeService OpenService(
     NativeServiceManager hSCManager,
     string lpServiceName,
     ServiceRights dwDesiredAccess
     );