Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Ruta de Servicios de windows (https://www.clubdelphi.com/foros/showthread.php?t=72748)

diego007 09-03-2011 22:31:49

Ruta de Servicios de windows
 
Hola amig@s, buscando en este foro me encontré con un código para ver los servicios del sistema en este direccion http://www.clubdelphi.com/foros/showthread.php?p=109245
el codigo es
Código PHP:

function ServiceGetList(sMachinestring;
                         
dwServiceTypedwServiceStateDWord;
                         
slServicesListTStrings) : boolean;
const
  
// assume that the total number of services is less than 4096.
  //Increase if necessary
  
cnMaxServices 4096;
type
  TSvcA 
= array [0..cnMaxServicesof TEnumServiceStatus;
  
PSvcA = ^TSvcA;
  var
  
jinteger;
  
// service control manager handle
  
schmSC_Handle;
  
// bytes needed for the next buffer, if any
  
nBytesNeeded,
  
// number of services
  
nServices,
  
// pointer to the next unread service entry
  
nResumeHandleDWord;
  
// service status array
  
ssaPSvcA;
begin ServiceGetList }
  
Result := false;

  
// connect to the service control manager
  
schm := OpenSCManager(PChar(sMachine), nilSC_MANAGER_ALL_ACCESS);

  
// if successful...
  
if (schm>0then
  begin
    nResumeHandle 
:= 0;

    New(
ssa);

    
EnumServicesStatus(schmdwServiceTypedwServiceStatessa^[0],
                       
sizeof(ssa^), nBytesNeedednServices,
                       
nResumeHandle);

    
// assume that our initial array was large enough to hold all
    // entries. add code to enumerate if necessary.
    
for := 0 to nServices-do
    
begin
      slServicesList
.Add(StrPas(ssa^[j].lpServiceName));
    
end; { for }
    
Result := true;

    
Dispose(ssa);

    
// close service control manager handle
    
CloseServiceHandle(schm);
  
end; { (schm>0) }
end; { ServiceGetList 

como ver la ruta completa del servicio que muestra este programa? por ejemplo ver las rutas de este tipo:
System32\DRIVERS\xxxxxxxxx.xxx
%SystemRoot%System\xxxxxxxxxx.xx

Neftali [Germán.Estévez] 10-03-2011 16:54:48

En mi página puedes descargar la librería GlibWMI, que entre los componentes que hay uno llamado ServiceInfo, que te permitirá obtener toda la información que necesites de los servicios instalados en la máquina (entre ellos el path).


diego007 10-03-2011 18:16:28

Hola Neftali, me parece que es muy buena esta librería que desarrollas, pero tengo una pregunta, yo uso D7 y estoy tratando de instalarla a esta librería 1.8b que descargue de SF, pero no se instala como otras librerías, tienes un mini manual de como hacerlo ya que el archivo GLibWMI_1.8beta_all no tiene ninguna carpeta de nombre Lib y en sources no hay ningún archivo dcu o algún instalador.

Gracias de antemano.

Neftali [Germán.Estévez] 10-03-2011 19:10:42

1 Archivos Adjunto(s)
Si descargas toda la librería completa, hay un directorio donde se encuentra un DPK que es el package que debes instalar. Abrelo y haz un Build y un Install.

También hay un fichero BPG (Borland Project Group) que contiene el packages y las demos. Si lo abres, puedes compilar todo y desde ahí mismo si seleccionas el DPK puedes instalarlo.


La franja horaria es GMT +2. Ahora son las 23:36:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi