@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: The OpenService function opens an existing service. !!!!C# Signature: [DllImport("advapi32.dll", EntryPoint = "OpenServiceA", SetLastError = true, CharSet = CharSet.Ansi)] static extern IntPtr OpenService(IntPtr hSCManager, string lpServiceName, ServiceRights dwDesiredAccess); !!!!VB Signature: <DllImport("advapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _ Private Shared Function OpenService(ByVal hSCManager As IntPtr, ByVal lpServiceName As String, ByVal dwDesiredAccess As Int32) As IntPtr End Function !!!!VB .NET Signature: Declare Function OpenService Lib "advapi32.dll" Alias "OpenServiceA" (ByVal hSCManager As IntPtr, ByVal lpServiceName As String, ByVal dwDesiredAccess As Integer) As IntPtr !!!!User-Defined Types: [SERVICE_ACCESS] !!!!Notes: Seems the CharSet should be Ansi, not Auto. Also the code from a sample did not work for me, so I used the following code to open a service: IntPtr service = OpenService(scman, ServiceName, ServiceRights.StandardRightsRequired | ServiceRights.Stop | ServiceRights.QueryStatus); if (service == IntPtr.Zero) throw new Win32Exception(Marshal.GetLastWin32Error()); !!!!Tips & Tricks: Please add some! !!!!Sample Code: The following sample opens the service with privileges to stop and delete it: IntPtr hService = OpenService(hSCM, ServiceName, ((uint)SERVICE_ACCESS.SERVICE_STOP | (uint)System.Messaging.StandardAccessRights.Delete)); !!!!Alternative Managed API: Unless you are going use EnumDependentServices API please use 'System''.''ServiceProcess''.''ServiceController' that is provided in the framework. Documentation: OpenService@msdn on MSDN
Edit advapi32.OpenService
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.