Entwickler-Ecke

Windows API - Programm als Dienst starten


Paddii - Mi 17.01.07 21:05
Titel: Programm als Dienst starten
hi,

ich wollte mein prog, das ich geschrieben hab, bei der installation oder beim ersten start so reagiert, dass es sich zukünftig beim systemstart also Dienst anmeldet, weiß jemand, wie das möglich wäre?

ich hab im internet schon mal danach gesucht, aber für alles braucht man nen extra programm, mit dem man das dann extra als dienst anmeldet. da stand nie was, von ner möglichkeit, wie ich das gern hätte

danke schon mal im vorraus


JayEff - Mi 17.01.07 21:32

Du hast gesucht, und Möglichkeiten gefunden, die dir nicht schmecken ... ? Pech, denn vermutlich wurde Windows seit diese Möglichkeiten gepostet wurden, nicht systemweit generalüberholt ... :|


Reinhard Kern - Do 18.01.07 02:12
Titel: Re: Programm als Dienst starten
user profile iconPaddii hat folgendes geschrieben:
hi,

ich wollte mein prog, das ich geschrieben hab, bei der installation oder beim ersten start so reagiert, dass es sich zukünftig beim systemstart also Dienst anmeldet, weiß jemand, wie das möglich wäre?

ich hab im internet schon mal danach gesucht, aber für alles braucht man nen extra programm, mit dem man das dann extra als dienst anmeldet. da stand nie was, von ner möglichkeit, wie ich das gern hätte

danke schon mal im vorraus


Hallo,

man kann für Windows ein Programm als Service schreiben, dafür muss man wissen wie das geht, und eine geeignete Entwicklungsumgebung besitzen; Delphi müsste gehen, siehe TService. Die Entwicklung unterscheidet sich erheblich von der einer normalen Anwendung.

Zusätzlich liefert MS ein Tool, um - mit erheblichen Einschränkungen - eine normale Anwendung als Service zu starten. In vielen Fällen kann das schon aus logischen Gründen nicht sinnvoll funktionieren, weil ein Service ohne Interaktion mit einem Benutzer arbeiten muss, es ist ja keiner da. Das ist eben nur eine Krücke.

Ob bei einem Service die Installation extra programmiert wird oder aus der gleichen EXE z.B. mit dem Parameter -i aufgerufen wird, ist dem Programmierer überlassen.

Gruss Reinhard


Paddii - Mi 24.01.07 21:19

Sooo... ich hab jetzt nochmal im forum nen bisschen rumgestöbert. (Suche: TService)
Da hab ich was gefunden, vonwegen, dass man bei Delphi extra nen service-formular erstellen kann: Datei -> Neu -> Service oder irgendwie so
jetzt hab ich mal bei mir nachgeguckt, aber da kann ich sowas nicht machen...
kann das daran liegen, dass ich 'nur' ne schüler version von delphi 6 habe?


JayEff - Do 25.01.07 15:24

Delphi 7 Enterprise: Neu -> Weitere -> Service...
Wird an deiner Delphi-Version liegen, ja...


Paddii - Fr 26.01.07 11:48

keine möglichkeit das anders zu machen? oder mit sowas wie nem addon meine delphi version daufür lauffähig zu machen? ist schon blöd...


jasocul - Fr 26.01.07 12:02

Auf meiner WebSite (Downloads) gibts eine Service-Demo mit Source. Kannst Du Dir ja mal ansehen. Ist nix besonderes, aber sollte funktionieren.


Delete - Fr 26.01.07 13:30

user profile iconPaddii hat folgendes geschrieben:
keine möglichkeit das anders zu machen?

Doch, in dem du eben nicht die Komponente nimmst, sondern es selbst mit der WinAPI programmierst. Tutorial dazu von Olli:
http://www.michael-puff.de/dirindex.php?folder=Developer/Delphi/Importe/


Paddii - Mo 29.01.07 13:05

So, heruntergeladen und ersten blick aufs tutorial geworfen hab ich auch.
Vom Tut bin ich mäßig begeistert...ist ein wenig spärlich erklärt alles...Verstehe davon nicht mal die Hälfte

*Wie gesagt, ich hab noch nie nen Service programmiert und mit den batch 'programmierung' hab ich auch kaum Erfahrung


Delete - Mo 29.01.07 13:48

Das ist nun mal keine Sache, mit der man sich fünf Minuten beschäftigt und dann hat man es darauf. Da muss man sich schon mal etwas einarbeiten, Beispiel nachvollziehen und ausprobieren. Aber wer hindert dich daran mit Google nach einem besseren Tutorial zu suchen?


Paddii - Mo 29.01.07 14:06

ja, hast recht...aber wenn ich nach 'service winapi programmierung' suche finde ich nichts wirklich sinnvolles.
suche ich einfach nur ungeschickt?!^^

btw, mir ist grad aufgefallen, dass das ja winapi programmierung ist und daher nicht mehr allzuviel mit delphi zu tun hat, da ist mir eingefallen, dass ich mir mal vor einiger zeit was für winapi befehle runtergeladen habe...vll kann ich mir da ja die befehle erklären lassen xD


Delete - Mo 29.01.07 15:37

user profile iconPaddii hat folgendes geschrieben:

btw, mir ist grad aufgefallen, dass das ja winapi programmierung ist und daher nicht mehr allzuviel mit delphi zu tun hat,

Das ist einfach Programmierung ohne die VCL, aber warum soll das nichts mit Delphi zu tun haben? Die Sprache ist immer noch die DelphiLanguage oder hat ein Konsolenprogramm auch nichts mehr mit Delphi zu tun? ;)


Paddii - Mo 29.01.07 16:59

ich mein jetzt nur von den befehlen her, oder ist das auch delphi...? oO
ka, ich bin noch nicht solange dabei an delphi zu programmieren...^^


JayEff - Mo 29.01.07 17:10

Wenn du WinAPI befehle unter Delphi benutzt, ist es immernoch Delphi - oder sagst du, sobald du sinus funktionen in Delphi benutzt, hast du einen Taschenrechner vor dir? ;)


Paddii - Mo 29.01.07 21:25

...ja klar xD
ich hab ja schon verstanden