Eigenen Windows-Service schreiben..?

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

 

#Reaper

Newsposter

Betreff: Eigenen Windows-Service schreiben..?

BeitragDi, Sep 04, 2007 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich suche nun schon die ganze Zeit, wie man einen eigenen Windows-Dienst/Service schreibt. Bislang konnte ich zu mindestens finden, wie man überhaupt einen Dienst (in der Registry) einträgt, was ja schonmal sehr gut ist^^
Nur muss aber ein Dienst immer auf Befehle wie "Start", "Stop" etc. reagieren (da er sonst wieder beendet wird), aber ich weiß nicht, wie ich Windows antworten soll :-/
Bislang habe ich nur sehr wenig gefunden, z.B. in msdn, aber die ganzen Beispielcodes sind alle nur für Visual Basic, C# oder C++ (d.h. Visual Studio...). Aber selbst aus diesen Codes kann ich nicht herauslesen, wie Windows geantwortet wird, dass der Service gestartet wurde Sad

Weiß vielleicht jemand etwas mehr..?

Ich hab mal hier gepostet, weil es ja nicht wirklich auf B3D, B+ oder BMax bezogen ist Wink

Danke schonmal fürs lesen Wink


MfG
#Reaper


PS: Oder eine andere Methode, mit der man "Start" usw. umgehen o.ä. kann würde eigentlich auch genügen, muss aber als Dienst laufen, geht deshalb denke ich nicht.
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

pixelshooter

BeitragDi, Sep 04, 2007 22:50
Antworten mit Zitat
Benutzer-Profile anzeigen
btw, was sind eig die vorteile, wenn ein programm als dienst läuft?
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc
 

#Reaper

Newsposter

BeitragMi, Sep 05, 2007 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Programm hat mehr rechte. Wenn man ein Programm z.B. nur über die Autostart-Funktion von Windows starten lässt, und sich aber ein Benutzer mit eingeschränkten rechten einloggt, kann das Programm evt. nicht mehr alles machen, was es soll.
Und außerdem laufen Dienste "immer", also auch, wenn sich noch kein Benutzer eingeloggt hat.
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Randall Flagg

BeitragMi, Sep 05, 2007 18:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ich dachte Dienste starten erst, wenn sich ein Benutzer angemeldet hat... bzw. nach dem Hochfahren erst nach der Anmeldung?
Meine Parodien & Geschichten

Pdd

BeitragDo, Sep 06, 2007 9:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, Dienste starten sogar noch vor der Benutzeroberfläche!
Lieber Apfel als Birne.
 

Dreamora

BeitragDo, Sep 06, 2007 10:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst mit Blitz Sprachen auch keinen Dienst erzeugen bzw wenn dann bestenfalls mit BlitzMax.
Und selbst da würde ich meine Hände nicht dafür ins Feuer legen, dass es ohne Komplikationen und Crashes möglich ist.

Blitz ist ganz einfach nicht für diese Art von Programmierung ausgelegt.
Wenn du wirklich einen Dienst machen willst und BM kannst ist es vermutlich am einfachsten, du nutzt C#
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Pdd

BeitragDo, Sep 06, 2007 14:18
Antworten mit Zitat
Benutzer-Profile anzeigen
...oder eine vergleichbare .NET-Sprache. Allerdings hatte ich gelesen, das es selbst damit nicht ohne weiteres Möglich ist (man muss sich wohl Templates und son Zeugs runterladen und es gibt wenig Anleitungen dazu...)
In einer Version des Visual Studios (habe leider vergessen, welche genau das war) gab es einen Menüpunkt, mit dem man Services erstellen konnte. Allerdings war das noch nicht .NET basierend.

[ot](Ob das .NET Framework schon vor dem Einloggen zur verfügung steht?)[/ot]
Lieber Apfel als Birne.
 

ChristianK

BeitragDo, Sep 06, 2007 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
In Visual Studio 8 ( also dem neuesten ) gibt es eine Vorlage für Windows-Dienste, die mit .NET programmiert werden.

Pdd hat Folgendes geschrieben:
Ob das .NET Framework schon vor dem Einloggen zur verfügung steht?

Ich denke schon. Es ist ja auch eine System-Komponente wie die ganzen WinAPI-DLLs.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
 

#Reaper

Newsposter

BeitragDo, Sep 06, 2007 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Mhh.. ok. Dachte es gäbe da evt. irgendwelche WinAPI Befehle o.ä.

Und ja, hatte es vor mit BMax zu machen Wink
C# kann ich nicht und hab ich nicht (und will ich nicht^^)

Naja, gut, mit Delphi soll es ja auch gehen.. :-/
Dann startet das Delphi-Programm eben einfach nur eine BMax.Exe und beendet sich halt wieder, ist ja insofern zwar nicht das Beste, aber das Einfachste Wink

Und mit .NET sieht es auf Win2k eh standartmäßig schlecht aus Wink (soll für Schulrechner werden)


Danke für die Antworten Smile
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

Dreamora

BeitragDo, Sep 06, 2007 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Auf Schulrechnern kannst du es mehr oder weniger eh vergessen.

Einen Dienst kann nur ein User der Admingruppe installieren, kein User mit eingeschränkten Rechten.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Jolinah

BeitragDo, Sep 06, 2007 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
In einer Version des Visual Studios (habe leider vergessen, welche genau das war) gab es einen Menüpunkt, mit dem man Services erstellen konnte. Allerdings war das noch nicht .NET basierend.


Gibt es auch schon im Visual Studio 2003 und 2005 (.NET basierend), jedoch nicht in der kostenlosen Version. Man muss den Dienst dann aber noch manuell mit einem Command Line Tool vom .NET Framework installieren, damit er auch unter Verwaltung -> Dienste auftaucht und gestartet werden kann. Und wie schon gesagt wurde geht das nicht ohne Adminrechte (zum Glück).
 

#Reaper

Newsposter

BeitragDo, Sep 06, 2007 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
Auf Schulrechnern kannst du es mehr oder weniger eh vergessen.

Einen Dienst kann nur ein User der Admingruppe installieren, kein User mit eingeschränkten Rechten.


Wer sagt denn, dass ich keine Adminrechte habe..? Wink

Aber blöderweise hat der Schüler-User auch Adminrechte.. :-/
Naja, ist nicht so schlimm, HDGuard läuft da ja drauf, die können also eh nichts ändern Wink
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group