Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/05/2010, 14:20
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 4 meses
Puntos: 29
Respuesta: Listar servicios de windows

Puedes ver los servicios y activarlos o desactivarlos con este código, 4 listbox y 3 botones.

Código vb:
Ver original
  1. Private Sub Command1_Click()
  2.   CargaListas
  3. End Sub
  4.  
  5. Private Sub Command2_Click()
  6. ' activar
  7.  Dim strServiceName As String
  8.   Dim objWMIService
  9.   Dim colListOfServices
  10.   Dim objService
  11.   strServiceName = List2.Text
  12.   Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
  13.   Set colListOfServices = objWMIService.ExecQuery("Select * from Win32_Service Where Name ='" & strServiceName & "'")
  14.   For Each objService In colListOfServices
  15.     objService.StartService
  16.   Next
  17.   CargaListas
  18. End Sub
  19.  
  20. Private Sub Command3_Click()
  21. ' desactivar
  22.  Dim strServiceName As String
  23.   Dim objWMIService
  24.   Dim colListOfServices
  25.   Dim objService
  26.   strServiceName = List2.Text
  27.   Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
  28.   Set colListOfServices = objWMIService.ExecQuery("Select * from Win32_Service Where Name ='" & strServiceName & "'")
  29.   For Each objService In colListOfServices
  30.     objService.StopService
  31.   Next
  32.   CargaListas
  33. End Sub
  34.  
  35. Private Sub CargaListas()
  36.   Dim objWMIService
  37.   Dim colListOfServices
  38.   Dim objService
  39.   Dim valor As String
  40.   Dim F As Long
  41.   On Local Error Resume Next
  42.  
  43.   List1.Clear
  44.   List2.Clear
  45.   List3.Clear
  46.   List4.Clear
  47.  
  48.   Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
  49.   Set colListOfServices = objWMIService.ExecQuery("Select * from Win32_Service")
  50.   For Each objService In colListOfServices
  51.     valor = ""
  52.     valor = objService.DisplayName
  53.     List1.AddItem valor
  54.     valor = ""
  55.     valor = objService.Name
  56.     List2.AddItem valor
  57.     valor = ""
  58.     valor = objService.State
  59.     List3.AddItem valor
  60.     valor = ""
  61.     valor = objService.Description
  62.     List4.AddItem valor
  63.   Next
  64.  
  65. End sub
Para lo de guardar una copia, quizá creando una funcion que guarde un listado de los servicios activos y otra funcion que los active o desactive segun marque el listado guardado.

Que se de bien.
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!