![]() |
Programm aus Service / Systemdienst starten ...
Liste der Anhänge anzeigen (Anzahl: 1)
Hy,
ich habe hier ein schönes Demo gefunden nach dem ich lange gesucht habe ... ... um diese Funktion in mein KIOSK-Softwarepaket zu integrieren... vermutlich haben sich schon viele den Kopf zerbrochen um ein Programm aus einem Systemdienst heraus zu starten. Laut Angaben des Autors ist die Software frei verwendbar (Freeware), anbei Informationen zum Autor und das Programm im Anhang. ciao KUBA Author: Arno Garrels Description: Simple demo that shows how to display a message box as well as start a process in the interactive session from a TService. Should work in all NT-versions including Windows Vista. Creation: Aug 15, 2007 Version: 1.00 EMail: arno.garrels@gmx.de Legal issues: Copyright (C) 2007 by Arno Garrels Use it as you like, don't claim that you wrote it. |
DP-Maintenance
Dieses Thema wurde von "sakura" von "Freeware" nach "Open-Source" verschoben.
Und was ist das, wenn nicht Open-Source ;-) |
Re: Programm aus Service / Systemdienst starten ...
Naja, einige Probleme und Fehler sehe ich da drin schon:
1. GetActiveWtsSession liefert eine Session zurück. Es können aber mehrere vorhanden sein. Welche soll denn nun verwendet werden? Meist geht das nur über ein Programm, welches schon dort ist und vom User angewiesen worden ist, etwas zu machen. Sonst kann man auch gleich WtsGetActiveConsoleSession nehmen. 2. Eine modale Messagebox aus dem Service? Normalerweise sind Dienste wiederverwendbar. D.h. es ist eine Schleife drin, in der Dinge abgearbeitet werden. Dort zu blocken würde bedeuten, dass ein anderer User nicht dasselbe machen kann. Am besten wäre es, wenn der Dienst daher sofort ein Programm in die Session startet und das Programm den Rest macht. Man könnte natürlich auch einen Thread machen (kompliziert zu verwalten). 3. CreateProcessAsUser wird fehlschlagen, wenn parameter inherit handle auf true ist und die Session eine andere. Handlevererbung über Sessions geht nicht. Mit JWSCL gehts auch einfacher :D ![]() (SVN Trunk version enthält neuste Version) |
Re: Programm aus Service / Systemdienst starten ...
@Dezipaitor
Gut aufgepasst ! Dafür ist es ohne Fremdkomponenten und auch unter Windows 2000 lauffähig. KUBA |
Re: Programm aus Service / Systemdienst starten ...
Gut aufgepasst!
JwCreateProcessInSession läuft auch unter Windows 2000. Zumindest die aktuelle trunk-Version. JWSCL ist keine Komponente, sondern eine Sammlung von Klassen. |
Re: Programm aus Service / Systemdienst starten ...
@Dezipaitor
Aha, das wusste ich nicht. Habe erst vor kurzem einen Blick auf die JEDI´s geworfen - ich bin Anfänger und kenne mich noch nicht so gut aus. Mit den JEDI´s werde ich mich auf jeden Fall noch intensiv beschäftigen - da geht doch noch einiges mehr ... :thumb: KUBA PS: Ich muss mir doch noch eine gute Lektüre zu Delphi besorgen, bisher habe ich meinen Erfahrungsschatz ausschließlich über das Internet (vorwiegend bei Delphi-Praxis) erworben. |
Re: Programm aus Service / Systemdienst starten ...
Ich empfehle immer, eine Lib zu verwenden und kein Copy&Paste von irgendwelchem Code.
Die Lib wird sicherlich von guten Leuten gepflegt. Bei dem Codeschnipsel kann man nicht sicher sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz