Dette tip er fedt, det viser hvordan du kan få en liste over alle de services som køre i windows.
 
 For at køre dette tip skal du oprette en listbox og en button.
 
 **************************************
   //
   // pointer to the
   // next unread service entry
   nResumeHandle : DWord;
 
   //
   // service status array
   ssa : PSvcA;
 begin
   Result := false;
 
   // connect to the service
   // control manager
   schm := OpenSCManager(
     PChar(sMachine),
     Nil,
     SC_MANAGER_ALL_ACCESS);
 
   // if successful...
   if(schm > 0)then
   begin
     nResumeHandle := 0;
 
     New(ssa);
 
     EnumServicesStatus(
       schm,
       dwServiceType,
       dwServiceState,
       ssa^[0],
       SizeOf(ssa^),
       nBytesNeeded,
       nServices,
       nResumeHandle );
 
     //
     // assume that our initial array
     // was large enough to hold all
     // entries. add code to enumerate
     // if necessary.
     //
     
     for j := 0 to nServices-1 do
     begin
       slServicesList.
         Add( StrPas(
           ssa^[j].lpDisplayName ) );
     end;
 
     Result := true;
 
     Dispose(ssa);
 
     // close service control
     // manager handle
     CloseServiceHandle(schm);
   end;
 end;
 
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 ServiceGetList( '''',
   SERVICE_WIN32,
   SERVICE_STATE_ALL,
   ListBox1.Items );
 end;
 
 end.
 
  
                    
                    
                    
                     |