Procedura: recuperare gli elenchi dei servizi
Aggiornamento: novembre 2007
È possibile utilizzare il metodo GetServices della classe ServiceController per recuperare un elenco dei servizi su un determinato computer. Il metodo GetServices restituisce una matrice di tutti i servizi disponibili su un computer, eccetto quelli associati ai driver di periferica. È possibile recuperare i servizi dei driver di periferica mediante il metodo GetDevices.
Per entrambi i metodi, è possibile scegliere un determinato computer di cui si desidera recuperare le informazioni o non passare alcun parametro per recuperare solo i servizi sul computer locale.
Per recuperare un elenco di servizi
Creare una matrice di tipo ServiceController che contenga i risultati della query.
Chiamare il metodo appropriato della classe ServiceController e impostare i risultati nella matrice, in uno dei modi indicati di seguito.
Per recuperare i servizi dei driver non di periferica dal computer locale, chiamare il metodo GetServices senza parametri:
Dim services() As System.ServiceProcess.ServiceController services = System.ServiceProcess.ServiceController.GetServices()
System.ServiceProcess.ServiceController[] services; services = System.ServiceProcess.ServiceController.GetServices();
System.ServiceProcess.ServiceController services[]; services = System.ServiceProcess.ServiceController.GetServices();
Per recuperare i servizi dei driver non di periferica da un computer specifico, chiamare il metodo GetServices e specificare come parametro di stringa il computer dal quale recuperare le informazioni:
Dim services() As System.ServiceProcess.ServiceController services = System.ServiceProcess.ServiceController.GetServices( _ "machinename")
System.ServiceProcess.ServiceController[] services; services = System.ServiceProcess.ServiceController.GetServices( "machinename");
Per recuperare i servizi dei driver di periferica dal computer locale, chiamare il metodo GetDevices senza parametri:
Dim services() As System.ServiceProcess.ServiceController services = System.ServiceProcess.ServiceController.GetDevices()
System.ServiceProcess.ServiceController[] services; services = System.ServiceProcess.ServiceController.GetDevices();
Per recuperare i servizi dei driver di periferica da un computer specifico, chiamare il metodo GetDevices e specificare come parametro di stringa il computer dal quale recuperare informazioni:
Dim services() As System.ServiceProcess.ServiceController services = System.ServiceProcess.ServiceController.GetDevices( _ "machinename")
System.ServiceProcess.ServiceController[] services; services = System.ServiceProcess.ServiceController.GetDevices( "machinename");
Nel codice riportato di seguito viene illustrato come recuperare un insieme di servizi dal computer locale e visualizzare le informazioni su ciascuno di essi in una casella di riepilogo. Tenere presente che il metodo GetServices restituisce una matrice di oggetti ServiceController. Ciascun oggetto ServiceController restituito rappresenta un servizio del computer dal quale si desidera recuperare informazioni:
Sub ListServices() Dim ListBox1 As ListBox Dim services() As System.ServiceProcess.ServiceController Dim i As Integer services = System.ServiceProcess.ServiceController.GetServices() ListBox1.Items.Clear() For i = 0 To services.Length - 1 ListBox1.Items.Add(services(i).ServiceName) Next End Sub
private void ListServices() { ListBox listBox1 = null; System.ServiceProcess.ServiceController[] services; services = System.ServiceProcess.ServiceController.GetServices(); listBox1.Items.Clear(); for (int i = 0; i < services.Length; i++) { listBox1.Items.Add(services[i].ServiceName); } }
Questo esempio di codice è disponibile anche come frammento di codice IntelliSense di Visual Basic ed è presente nella casella di selezione dei frammenti di codice in Sistema operativo Windows > Servizi Windows. Per ulteriori informazioni, vedere Procedura: inserire frammenti nel codice (Visual Basic).
Vedere anche
Attività
Procedura: creare istanze del componente ServiceController
Procedura: eseguire attività amministrative relative ai servizi