Guten Morgen!
gestern war ich leider schon weg, dehalb kam da keine Antwort mehr. Ich hab das tool fürs erste fertig bekommen dank dir Sakura!
so siehts aus:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uNTServiceControl, StdCtrls, ExtCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
// procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//
// Service State -- for CurrentState
//
(*
{$EXTERNALSYM SERVICE_STOPPED}
SERVICE_STOPPED = $00000001;
{$EXTERNALSYM SERVICE_START_PENDING}
SERVICE_START_PENDING = $00000002;
{$EXTERNALSYM SERVICE_STOP_PENDING}
SERVICE_STOP_PENDING = $00000003;
{$EXTERNALSYM SERVICE_RUNNING}
SERVICE_RUNNING = $00000004;
{$EXTERNALSYM SERVICE_CONTINUE_PENDING}
SERVICE_CONTINUE_PENDING = $00000005;
{$EXTERNALSYM SERVICE_PAUSE_PENDING}
SERVICE_PAUSE_PENDING = $00000006;
{$EXTERNALSYM SERVICE_PAUSED}
SERVICE_PAUSED = $00000007;
*)
procedure TForm1.Button1Click(Sender: TObject);
begin
ServiceStop('
', '
Messenger', true)
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ServiceStart('
', '
Messenger', true)
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
case ServiceGetStatus('
', '
Messenger')
of
0: Panel1.Caption := '
Status 0';
1:
begin
Panel1.Caption := '
gestoppt';
Panel1.Color := clred;
end;
2:
begin
Panel1.Caption := '
wird gestartet';
Panel1.Color := clyellow;
end;
3: Showmessage('
3');
4:
begin
Panel1.Caption := '
läuft';
Panel1.Color := clGreen;
end;
5: Panel1.Caption := '
SERVICE_CONTINUE_PENDING';
//was auch immer das ist
6: Panel1.Caption := '
SERVICE_PAUSE_PENDING';
//was auch immer das ist
7:
begin
Panel1.Caption := '
pausiert';
Panel1.Color := clteal;
end;
else
Panel1.Caption := '
unbekannter Status';
end;
end;
Es wird zuerst überprüft ob der Dienst (später die bestimmten Dienste) läuft und dann kann bequem gestartet oder gestoppt werden. Die Pause und den Neustart will ich noch einpflegen, sowie abhängige Dienste autoatisch mitstarten.