Einzelnen Beitrag anzeigen

strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#1

MySQL Dienst prüfen

  Alt 28. Jan 2015, 08:02
Hallo,
möchte prüfen ob der Server "MySQL" also der Dienst läuft.
Hier passiert leider nichts?

Delphi-Quellcode:
function ServiceGetStatus(sMachine, sService: PChar): DWORD;
   {******************************************}
   {*** Parameters: ***}
   {*** sService: specifies the name of the service to open
  {*** sMachine: specifies the name of the target computer
   {*** ***}

   {*** Return Values: ***}
   {*** -1 = Error opening service ***}
   {*** 1 = SERVICE_STOPPED ***}
   {*** 2 = SERVICE_START_PENDING ***}
   {*** 3 = SERVICE_STOP_PENDING ***}
   {*** 4 = SERVICE_RUNNING ***}
   {*** 5 = SERVICE_CONTINUE_PENDING ***}
   {*** 6 = SERVICE_PAUSE_PENDING ***}
   {*** 7 = SERVICE_PAUSED ***}
   {******************************************}
var
   SCManHandle, SvcHandle: SC_Handle;
   SS: TServiceStatus;
   dwStat: DWORD;
begin
   dwStat := 0;
   // Open service manager handle.
   SCManHandle := OpenSCManager(sMachine, nil, SC_MANAGER_CONNECT);
   if (SCManHandle > 0) then
   begin
     SvcHandle := OpenService(SCManHandle, 'MySQL', SERVICE_QUERY_STATUS);
     // if Service installed
     if (SvcHandle > 0) then
     begin
      ShowMessage('TEST'); // Zum testen
       // SS structure holds the service status (TServiceStatus);
       if (QueryServiceStatus(SvcHandle, SS)) then
         dwStat := ss.dwCurrentState;
       CloseServiceHandle(SvcHandle);
     end;
     CloseServiceHandle(SCManHandle);
   end;
   Result := dwStat;
end;

function ServiceRunning(sMachine, sService: PChar): Boolean;
begin
   Result := SERVICE_RUNNING = ServiceGetStatus(sMachine, 'MySQL');
end;
  Mit Zitat antworten Zitat