ServiceController.GetServices Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Загружает находящиеся на компьютере службы драйверов, не связанные с устройствами, а также службы, не являющиеся драйверами.
Перегрузки
GetServices(String) |
Загружает все службы на указанном компьютере, за исключением служб драйверов устройств. |
GetServices() |
Загружает все службы на локальном компьютере, за исключением служб драйверов устройств. |
GetServices(String)
Загружает все службы на указанном компьютере, за исключением служб драйверов устройств.
public:
static cli::array <System::ServiceProcess::ServiceController ^> ^ GetServices(System::String ^ machineName);
public static System.ServiceProcess.ServiceController[] GetServices (string machineName);
static member GetServices : string -> System.ServiceProcess.ServiceController[]
Public Shared Function GetServices (machineName As String) As ServiceController()
Параметры
- machineName
- String
Компьютер, с которого должны быть загружены службы.
Возвращаемое значение
Массив типа ServiceController, каждый элемент которого связан со службой на указанном компьютере.
Исключения
Произошла ошибка при обращении к API-интерфейсу системы.
Синтаксис параметра machineName
недопустим.
Комментарии
GetServices возвращает только службы драйверов, не являющиеся устройствами, и службы, которые не являются драйверами с указанного компьютера. Чтобы получить службы драйверов устройств, вызовите GetDevices метод. Вместе два метода предоставляют доступ ко всем службам на компьютере.
См. также раздел
Применяется к
GetServices()
Загружает все службы на локальном компьютере, за исключением служб драйверов устройств.
public:
static cli::array <System::ServiceProcess::ServiceController ^> ^ GetServices();
public static System.ServiceProcess.ServiceController[] GetServices ();
static member GetServices : unit -> System.ServiceProcess.ServiceController[]
Public Shared Function GetServices () As ServiceController()
Возвращаемое значение
Массив типа ServiceController, каждый элемент которого связан со службой на локальном компьютере.
Исключения
Произошла ошибка при обращении к API-интерфейсу системы.
Примеры
В следующем примере класс используется ServiceController для отображения служб, работающих на локальном компьютере.
array<ServiceController^>^scServices = ServiceController::GetServices();
// Display the list of services currently running on this computer.
Console::WriteLine( "Services running on the local computer:" );
for each (ServiceController^ scTemp in scServices)
{
if ( scTemp->Status == ServiceControllerStatus::Running )
{
// Write the service name and the display name
// for each running service.
Console::WriteLine();
Console::WriteLine( " Service : {0}", scTemp->ServiceName );
Console::WriteLine( " Display name: {0}", scTemp->DisplayName );
// Query WMI for additional information about this service.
// Display the start name (LocalSystem, etc) and the service
// description.
ManagementObject^ wmiService;
String^ objPath;
objPath = String::Format( "Win32_Service.Name='{0}'", scTemp->ServiceName );
wmiService = gcnew ManagementObject( objPath );
if ( wmiService )
{
wmiService->Get();
Object^ objStartName = wmiService["StartName"];
Object^ objDescription = wmiService["Description"];
if ( objStartName )
{
Console::WriteLine( " Start name: {0}", objStartName->ToString() );
}
if ( objDescription )
{
Console::WriteLine( " Description: {0}", objDescription->ToString() );
}
}
}
}
ServiceController[] scServices;
scServices = ServiceController.GetServices();
// Display the list of services currently running on this computer.
Console.WriteLine("Services running on the local computer:");
foreach (ServiceController scTemp in scServices)
{
if (scTemp.Status == ServiceControllerStatus.Running)
{
// Write the service name and the display name
// for each running service.
Console.WriteLine();
Console.WriteLine(" Service : {0}", scTemp.ServiceName);
Console.WriteLine(" Display name: {0}", scTemp.DisplayName);
// Query WMI for additional information about this service.
// Display the start name (LocalSystem, etc) and the service
// description.
ManagementObject wmiService;
wmiService = new ManagementObject("Win32_Service.Name='" + scTemp.ServiceName + "'");
wmiService.Get();
Console.WriteLine(" Start name: {0}", wmiService["StartName"]);
Console.WriteLine(" Description: {0}", wmiService["Description"]);
}
}
Dim scServices() As ServiceController
scServices = ServiceController.GetServices()
' Display the list of services currently running on this computer.
Console.WriteLine("Services running on the local computer:")
Dim scTemp As ServiceController
For Each scTemp In scServices
If scTemp.Status = ServiceControllerStatus.Running Then
' Write the service name and the display name
' for each running service.
Console.WriteLine()
Console.WriteLine(" Service : {0}", scTemp.ServiceName)
Console.WriteLine(" Display name: {0}", scTemp.DisplayName)
' Query WMI for additional information about this service.
' Display the start name (LocalSystem, etc) and the service
' description.
Dim wmiService As ManagementObject
wmiService = New ManagementObject("Win32_Service.Name='" + scTemp.ServiceName + "'")
wmiService.Get()
Console.WriteLine(" Start name: {0}", wmiService("StartName"))
Console.WriteLine(" Description: {0}", wmiService("Description"))
End If
Next scTemp
Комментарии
GetServices возвращает только службы драйверов, отличные от устройств, и службы, которые не являются драйверами с локального компьютера. Чтобы получить службы драйверов устройств, вызовите GetDevices метод. Вместе два метода предоставляют доступ ко всем службам на компьютере.