Entwickler-Ecke

Sonstiges (Delphi) - win NT service anwendung schreiben ??


matze - Mo 11.11.02 20:18
Titel: win NT service anwendung schreiben ??
Hallo !!!

Ich muss eine winNT service anwendung schreiben.

1.Frage: WIE ??
2.Frage: Was ist das überhaupt !!!


Delete - Mo 11.11.02 20:46

Tutorial von Assarbad auf meiner Seite zum Downloaden.

Was ist ein Service?
NT ist ein Mehrbenutzersystem, das heißt Anwendungen laufen immer in einem Benutzerkontext bzw. sie gehören einem Benutzer. Jetzt tritt aber der Fall ein, dass bestimmte Anwendungen bei jedem Benutzer laufen müssen, sollen VirenScanner oder Firewalls. Dazu ist dann ein Dienst da. Ein Dienst kann nur von einem Administrator eingerichtet und beendet werden, so dass ein normaler User den Firewall zum Beispiel nicht abschalten kann. Was auch Sinn macht aus Sicherheitsaspekten und so. Ein Dienst läuft dann auf dem System-Konto an das ein normaler Benutzer nicht dran kann, deswegen kann er ihn nicht beenden. Dienste werde auch immer von Windows gestartet bevor sich ein User anmeldet, dass heißt sie sind auch dann aktiv, wenn kein User angemeldet ist. Was auch wiederum bei einem Firewall Sinn macht, der Computer soll ja auch dann geschützt sein, wenn keiner angemeldet ist.

Ein Dienst ist eine ganz spezielle Anwendung die nicht vom Anwender kontrolliert wird, sondern vom ServiceControlManager (SCM). Aber alles weitere dürftest du im Tutorial von Assarbad finden. Du mußt dir allerdings die Win32API-Tutorials runterladen und installieren. Online ist das Tutorial nur bei Assarbad verfügbar. Tipp: Installier alles also komplett, dann werden die Demos mit Source mit installiert.


matze - Di 12.11.02 17:39

das ist ja doch nicht so einfach wie ich dachte !!!


Delete - Di 12.11.02 18:45

Tja, so ist das nun mal. Mußt dich wohl etwas rein knien und damit beschäftigen, dann klappt das auch.


matze - Di 12.11.02 20:09

da ich ein fan von komponenten bin, kommt jetzt natürlich die frage:

GIBTS DENN DA KEINE KOMPO FÜR ??? eine die man einfach aufs form pappt und dann gehts ....


Delete - Di 12.11.02 20:17

Keine Ahnung, ich habe eine Allergie gegen Komponenten, wenn man sie nicht unbedingt braucht. Besonders gegen TNA-Komponenten.

Ob es für einen Dienst eine Komponente gibt weiß ich nicht. Halte ich aber für recht unwahrscheinlich. Aber bei Delphi kann man doch ein Service-Grundgerüst beim Erstellen auswählen oder? Kann sein, dass ich das jetzt mit Threads verwechsele.

Desweiteren gibt es eben auch Sachen, die man nicht so einfach durch zwei Klicks erledigen kann, da muß man sich eben mal hinsetzten und selber was Programmieren und sich mit der sache beschäftigen.


matze - Di 12.11.02 20:24

jo danke erst mal für diese gundsatzpredigt !!! :wink: nein, im ernst !!
ich bin halt eher der bequeme typ (siehe meine komonenten bar)
es gibt schon sowas wie ein service grundgerüst, aber da bin ich nicht wirklich durchgestiegen !!!

wieso hast du denn ne kompoallergie ??


Delete - Di 12.11.02 20:31

Weil ich lieber selber die Kontrolle über mein Programm habe. Und ich keien Lust habe erst stundenlag die Sourcen der Komponenten zu studieren bevor ich sie einsetze, wenn überhaupt möglich.

Desweiteren ist es sehr probglematisch ein Programm mit Souirce weiterzugeben, wenn man zich Fremdkompos benutzt hat. Es ist auch etwas nervig wenn man jemanden helfen soll und der dir dann sagt: "Aber dazu mußt du diese und jene Komponente erst noch installieren.

Wobei ich nicht sagen will, dass bestimmte Komponenten nicht Sinn machen, wie zum Beispiel die Indys oder bestimmte Datenbank-Komponenten.


LCS - Mi 13.11.02 08:09

Hi
Luckie hat folgendes geschrieben:
Keine Ahnung, ich habe eine Allergie gegen Komponenten, wenn man sie nicht unbedingt braucht. Besonders gegen TNA-Komponenten.

Und ich dachte schon, mit dieser Meinung steh ich alleine da. Seit Delphi 5 habe ich gerade mal 2 Komponenten installiert die ich auch verwende. 8)

Luckie hat folgendes geschrieben:

Ob es für einen Dienst eine Komponente gibt weiß ich nicht. Halte ich aber für recht unwahrscheinlich. Aber bei Delphi kann man doch ein Service-Grundgerüst beim Erstellen auswählen oder? Kann sein, dass ich das jetzt mit Threads verwechsele.

Nein, verwechselst du nicht. Grundgerüst ist vorhanden.

Luckie hat folgendes geschrieben:

Desweiteren gibt es eben auch Sachen, die man nicht so einfach durch zwei Klicks erledigen kann, da muß man sich eben mal hinsetzten und selber was Programmieren und sich mit der sache beschäftigen.

Hat den angenehmen Nebeneffekt, dass man sich dann auskennt und weiss was man programmiert hat.

In diesem Sinne: Gutes gelingen Matze :D
Lothar


Delete - Mi 13.11.02 08:15

Hey, ein Gleichdenkender. :P :beer:

Bei D6 Standard oder Personal oder wie das auch immer jetzt heißt, habe ich es nicht gefunden, deswegen war ich etwas unsicher, da ich der Meinung war, es schon mal gesehen zu haben.


bis11 - Mi 13.11.02 17:21

Hi Matze,

es gibt auch noch ein einfaches Tutorial auf der Seite http://delphi-source.de unter Tutorials.


Delete - Mi 13.11.02 18:05

Das ist genau das selbe Tutorial von Assarbad, welches auch in meinen Tutorials enthalten ist. Nur dass in meinen Tutorials eine von mir und Mathias überarbeitete Fassung drin ist.


matze - Fr 15.11.02 15:23

ok danke nochamal @ all !!