AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Programm aus Service / Systemdienst starten ...

Programm aus Service / Systemdienst starten ...

Ein Thema von kuba · begonnen am 23. Jul 2008 · letzter Beitrag vom 27. Jul 2008
Antwort Antwort
Benutzerbild von kuba
kuba
Registriert seit: 26. Mai 2006
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.
Angehängte Dateien
Dateityp: zip testprocsvc_d7_130.zip (4,6 KB, 59x aufgerufen)
E=mc2
 
24. Jul 2008, 09:10
Dieses Thema wurde von "sakura" von "Freeware" nach "Open-Source" verschoben.
Und was ist das, wenn nicht Open-Source
Dezipaitor

 
Delphi 7 Professional
 
#3
  Alt 24. Jul 2008, 10:03
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 JwCreateProcessInSession
(SVN Trunk version enthält neuste Version)
Christian
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

 
Delphi XE7 Professional
 
#4
  Alt 27. Jul 2008, 18:13
@Dezipaitor
Gut aufgepasst ! Dafür ist es ohne Fremdkomponenten und auch unter Windows 2000 lauffähig.

KUBA
Stefan Kubatzki
  Mit Zitat antworten Zitat
Dezipaitor

 
Delphi 7 Professional
 
#5
  Alt 27. Jul 2008, 21:02
Gut aufgepasst!
JwCreateProcessInSession läuft auch unter Windows 2000. Zumindest die aktuelle trunk-Version.
JWSCL ist keine Komponente, sondern eine Sammlung von Klassen.
Christian
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

 
Delphi XE7 Professional
 
#6
  Alt 27. Jul 2008, 22:26
@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 ...

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.
Stefan Kubatzki
  Mit Zitat antworten Zitat
Dezipaitor

 
Delphi 7 Professional
 
#7
  Alt 27. Jul 2008, 22:44
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.
Christian
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf