Dienst-Programmierung mit ner MessageBox?
-
Was ist der Unterschied zwischen einem Dienst und einem Programm?
Der Dienst ist lediglich in der Computerverwaltung + dem Passenden Register im Task manager.
Ausserdem soll der Dienst ja ncihts anzeigen.
Der Dienst startet ja inzwischen eine *.exe Datei, diese soll dann ein Fenster anzeigen.
Ahso und deine Bemerkung
dot schrieb:
die "chance" ist ja auch nicht 0%. du hast ja immerhin die möglichkeit dein eigenes betriebssystem mit "interaktiven diensten" zu schreiben...
(Ich könnte auch einfach XP nemen,)
die %te der Möglichkeit sind -wie jeder verstehen sollte- an Vista ausgelegt....OMG wenn ich es nichtmal hinkriege nen Service zu programmieren ohne nen Forum zu benutzen, werde ich kein Betriebssystem schreiben oder?

-
lippoliv schrieb:
Was ist der Unterschied zwischen einem Dienst und einem Programm?
genau das is das problem. ein dienst z.b. läuft immer, ein programm nur wenn ein user eingeloggt ist. das nur als beispiel.
wenn du erst seit einigen monaten mit C programmierst und von WinAPI keine ahnung hast, warum willst du dann unbedingt einen dienst schreiben, obwohl dir doch jeder mit ahnung hier schon mehrmals gesagt hat, dass das schwachsinn ist!?
dienste und normale anwendungen sind zwei verschiedene paar schuhe und letztere sicher angenehmer zu tragen
lippoliv schrieb:
Der Dienst ist lediglich in der Computerverwaltung + dem Passenden Register im Task manager.
das is aber nur der schein an der oberfläche. das bedeutet nicht dass man einen dienst nimmt, wenn man diesen "effekt" erzielen will.
um genau zu sein stimmt das so gar nicht, weil du im task manager eigentlich nur den prozess der einen bestimmten dienst enthält zu gesicht bekommst. den dienst selber siehst du dort nicht.lippoliv schrieb:
Der Dienst startet ja inzwischen eine *.exe Datei, diese soll dann ein Fenster anzeigen.
und warum muss unbedingt ein dienst eine exe starten!?
soweit ich mich erinnern kann gings doch nur darum ein programm "im hintergrund" laufen zu lassen!? warum machst du nicht einfach ein normales programm, z.b. mit einem tray icon und einem eintrag im autostart, wie es quasi standard für derlei programme ist und wie es auch schon mehrfach vorgeschlagen wurde!?lippoliv schrieb:
Ahso und deine Bemerkung
dot schrieb:
die "chance" ist ja auch nicht 0%. du hast ja immerhin die möglichkeit dein eigenes betriebssystem mit "interaktiven diensten" zu schreiben...
(Ich könnte auch einfach XP nemen,)
die %te der Möglichkeit sind -wie jeder verstehen sollte- an Vista ausgelegt....dass es unter xp möglich is bedeutet net, dass es a) einfach so möglich is und b) sinnvoll is.
lippoliv schrieb:
OMG wenn ich es nichtmal hinkriege nen Service zu programmieren ohne nen Forum zu benutzen, werde ich kein Betriebssystem schreiben oder?

richtig. aber wenn du erst anfänger in sachen c und winapi bist, warum dann willst du dann gleich einen dienst programmieren!?
das is ungefähr gleich absurd...
-
lippoliv schrieb:
Was ist der Unterschied zwischen einem Dienst und einem Programm?
^^ rethorisch, wird gliech darunter selbst von mir erklärt, natürlich weiss ich schon dass es auch in der "Startmethode" unterschiedlich ist...
dot schrieb:
richtig. aber wenn du erst anfänger in sachen c und winapi bist, warum dann willst du dann gleich einen dienst programmieren!?
das is ungefähr gleich absurd...erklärst du schon selbst:
dot schrieb:
soweit ich mich erinnern kann gings doch nur darum ein programm "im hintergrund" laufen zu lassen!? warum machst du nicht einfach ein normales programm, z.b. mit einem tray icon und einem eintrag im autostart,[...]
Genau dass ist der Knackpunkt, dass bekomme ich evtl auch hin, aber da wird es schon gegen meine vorstellung:
es ist sichtbar...
Es soll ja komplett unsichtbar sein.
Natürlich, der User muss es erst auf "Autostart" setzen oder so, also er weiss schon, dass dieses Programm auf seinem Computer ist, aber wenn es im Tray ist... da sind meiner meinung nach schon x-1000 andere Programme oder?Klar es ist für mich echt nicht einfach, die WinAPI zu verstehen, oder damit umzgehen, aber dass heißt ja nicht, dass ich es nicht versuchen werde.
Warum ich dass jetzt schon machen will?Ich werde nicht meine ganze Ausbildung lang in C programmieren, sonder evtl. in 1 - 2 Monaten mit Java beginnen, wass ich dann wohl eine ganze weile machen werde.
Und wenn dass beginnt, werde ich keine Zeit mehr haben für C...
PS: Ich werde jetzt nochmal einen anlauf für den Tray versuchen, aber eins ist sicher: es wird nicht so geil, wie wenns ein Dienst währe.
-
lippoliv schrieb:
Der Dienst startet ja inzwischen eine *.exe Datei, diese soll dann ein Fenster anzeigen.
Ich wiederhole mich. Du solltest dich mal mit dem Thema beschäftigen. Dienste laufen in einer anderen WindowsStation. Wenn ein Dienst ein Programm startet, dass der Benutzer sehen können soll, muss der Dienst dieses Programm in der interaktiven WindowsStation des Benutzers und auf dessen (default) Desktop starten.
lippoliv schrieb:
aber da wird es schon gegen meine vorstellung:
es ist sichtbar...
Und was ist dagegen einzuwenden, wenn der Benutzer sieht, dass er ein Chatprogramm laufen hat?
-
Manche Leute stört es halt wenn 5 Symbole neben der Uhr im tray sind -wir würden ja nur 1 belegen-...
Du brauchst dich nicht wiederholen, aber die letzte Info hattest du noch nciht erwähnt...
Luckie schrieb:
Wenn ein Dienst ein Programm startet, dass der Benutzer sehen können soll, muss der Dienst dieses Programm in der interaktiven WindowsStation des Benutzers und auf dessen (default) Desktop starten.
Würdest du mir dazu einige Links listen könnten?
-
Und wer sagt, dass man dazu ein Icon im Tray braucht.
Genug Programme sind aktiv ohne ein bischen UI und machen sich nur bemerkbar wenn es notwendig ist.
-
Und wie läuft sowas, z.B. das Beenden des Programms?
-
Kill im Taskmanager.
-
Na super...
Dass ist ja wohl mindestens so unsaubber wie "SendMessage" oder so...
Ausserdem: Setz mal die falschen Leute an die Falschen Programme oder halt, die falschen Leute an die dazu passenden Programme...
Will nicht wissen wie lange dass wiederherstellen dess Systems dauert.
-
Dann pack halt nen zusätzliches Icon ins Startmenü oder so, mit welchem deine Anwendung sich beenden lässt.
Dienst mit MessageBox oder ähnlichem finde ich merkwürdig. Normalerweise läuft der Dienst einfach und packt seine Meldungen in die Ereignisanzeige? Für gewöhnlich sitzt sowieso niemand den ganzen Tag an nem Server rum und wartet drauf das irgendwelche MessageBoxen auftauchen

-
Startmenueicon -> startet Programm -> Programm sendet WM_CLOSE zu dem versteckten Programm -> Startmenueicon-Porgamm beendet sich selbst...
Wo ist da der unterschied... oder habe ich dich falsch verstanden?
-
Genau so hab ichs gemeint, wobei ich SendMessage() jetzt nicht unsauber finde

So sieht das zumindest auch Microsoft:
How To Terminate an Application "Cleanly" in Win32Der Unterschied ist, das du kein ShellNotifyIcon neben der Uhr hast.