Ver Mensaje Individual
  #2  
Antiguo 10-05-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.286
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si lo pruebas en local, verás que es fácil obtener un error de tipo EOleException si el servicio no está disponible. Incluso el mensaje que obtienes te lo deja claro.
Baja el servicio desde la administración de servicios y luego ponlo deshabilitado, para evitar que se arranque automáticamente cuando hagas la petición (ya que por defecto tiene macado araque automático.

Ten en cuenta que al "bajar" el servicio, es posible que se paren otros que dependen de él y que luego tendrás que arrancar manualmente (o reiniciar la máquina para que se vuelvan a arrancar automáticamente).

Si pruebas con un código como este:

Código Delphi [-]
uses
  SysUtils, ActiveX, ComObj, Variants, VCL.Forms, WinAPI.Windows, VCL.Dialogs;
...    


var
  FSWbemLocator : OLEVariant;
  FWMIService   : OLEVariant;
begin  
  FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  try
    FWMIService   := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
  except
    on E:exception do begin

      MessageDlg('Error, no se puede conectar al servicio de wmi. ' + sLineBreak +
                 '(' + E.ClassName + ') ' + E.Message,
                 mtError, [mbOK], 0);
      Exit;
    end;
  end;
...

Verás que al ejecutarlo con el servicio parado (y deshabilitado) te genera el siguiente error:

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita