Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than advapi32, prefix the name with the module name and a period.
<DllImport("advapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function OpenSCManager(ByVal machineName As String, ByVal databaseName As String, ByVal desiredAccess As SC_MANAGER_ACCESS ) As IntPtr
End Function
Pass in null/Nothing for MachineName to use the local machine.
Pass in null/Nothing as the database name to use the default SERVICES_ACTIVE_DATABASE
Sample Code:
VB:
Const STANDARD_RIGHTS_REQUIRED As Int32 = &HF0000
Const SC_MANAGER_CONNECT As Int32 = &H1
Const SC_MANAGER_CREATE_SERVICE As Int32 = &H2
Const SC_MANAGER_ENUMERATE_SERVICE As Int32 = &H4
Const SC_MANAGER_LOCK As Int32 = &H8
Const SC_MANAGER_QUERY_LOCK_STATUS As Int32 = &H10
Const SC_MANAGER_MODIFY_BOOT_CONFIG As Int32 = &H20
Const SC_MANAGER_ALL_ACCESS As Int32 = STANDARD_RIGHTS_REQUIRED Or _
SC_MANAGER_CONNECT Or _
SC_MANAGER_CREATE_SERVICE Or _
SC_MANAGER_ENUMERATE_SERVICE Or _
SC_MANAGER_LOCK Or _
SC_MANAGER_QUERY_LOCK_STATUS Or _
SC_MANAGER_MODIFY_BOOT_CONFIG
Dim scHandle As IntPtr = OpenSCManager(Nothing, Nothing, SC_MANAGER_ALL_ACCESS )
MsgBox(scHandle.ToString)
CloseServiceHandle(scHandle)
C#:
const int SC_MANAGER_CONNECT = 0x01;
const int SC_MANAGER_CREATE_SERVICE = 0x02;
const int SC_MANAGER_ENUMERATE_SERVICE = 0x04;
const int SC_MANAGER_LOCK = 0x08;
const int SC_MANAGER_QUERY_LOCK_STATUS = 0x10;
const int SC_MANAGER_MODIFY_BOOT_CONFIG = 0x20;
const int SC_MANAGER_ALL_ACCESS = 0x3f;
public const uint GENERIC_READ = 0x80000000;
public const uint GENERIC_WRITE = 0x40000000;
public const uint GENERIC_EXECUTE = 0x20000000;
public const uint GENERIC_ALL = 0x10000000;
The OpenSCManager function establishes a connection to the service control manager on the specified computer and opens the specified service control manager database.
10/18/2022 4:00:07 AM - -95.220.199.28
TODO - a short description
3/16/2007 7:33:31 AM - anonymous
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).