Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Aus Dienst heraus ein anderes Konsolenprogramm starten (https://www.delphipraxis.net/63779-aus-dienst-heraus-ein-anderes-konsolenprogramm-starten.html)

emsländer 22. Feb 2006 20:04


Aus Dienst heraus ein anderes Konsolenprogramm starten
 
Moin,

da es ja per Scheduler möglich ist, denke ich das es auch möglich sein muss, das ein Dienst eine andere Applikation starten kann. Wenn ich nachfolgende Zeile in einer normalen Anwendung ausführen lasse, klappt es. In einem Dienst nicht.




Delphi-Quellcode:
shellexecute(application.Handle ,nil,pchar(_cmd),pchar(von),pchar(an),SW_HIDE);


Wer hat eine Idee?



Gruss

RL

Jelly 22. Feb 2006 21:47

Re: Aus Dienst heraus ein anderes Konsolenprogramm starten
 
Ein Dienst kann doch normalerweise nicht mit dem Desktop intergieren. Da knallts schon bei einer simplen MessageBox :-)

Probier mal den Dienst mit "Datenaustausch zwischen Dienst und Desktop zulassen" zu aktivieren.

emsländer 22. Feb 2006 22:16

Re: Aus Dienst heraus ein anderes Konsolenprogramm starten
 
Zitat:

Zitat von Jelly
Ein Dienst kann doch normalerweise nicht mit dem Desktop intergieren. Da knallts schon bei einer simplen MessageBox :-)

Probier mal den Dienst mit "Datenaustausch zwischen Dienst und Desktop zulassen" zu aktivieren.

der Dienst soll ja nix anzeigen. Es soll lediglich ein weiteres konsolenprogramm (und das funzt ja auch mit dem Sheduler!!!) bei gesperrtem Server gestartet werden.

Hintergrund: Ein ISDN-Capi Überwachungsproggi soll bei bestimmten Rufnummern ein .cmd aufrufen:

net stop xyz - Dienst

net start xyz - Dienst ....


Gruss

EL

Christian Seehase 22. Feb 2006 22:23

Re: Aus Dienst heraus ein anderes Konsolenprogramm starten
 
Moin emsländer,

und welchen Rückgabewert erhältst Du von ShellExecute?

emsländer 22. Feb 2006 22:25

Re: Aus Dienst heraus ein anderes Konsolenprogramm starten
 
Zitat:

Zitat von Christian Seehase
Moin emsländer,

und welchen Rückgabewert erhältst Du von ShellExecute?

shellexecute wird nicht ausgeführt!

Gruss

EL

Luckie 22. Feb 2006 22:32

Re: Aus Dienst heraus ein anderes Konsolenprogramm starten
 
Doch es wird ausgeführt, nur nicht in deiner WindowsStation auf deinem default Desktop. ;) Der Dienst läuft nämlich in einer anderen (nicht interaktiven) WindowsStation ohne Desktop. Ein kleinen unvollständigen Abriss über die Begrifflichkeiten findest du hier: http://www.michael-puff.de/Developer...Stations.shtml

emsländer 22. Feb 2006 22:36

Re: Aus Dienst heraus ein anderes Konsolenprogramm starten
 
Zitat:

Zitat von Luckie
Doch es wird ausgeführt, nur nicht in deiner WindowsStation auf deinem default Desktop. ;) Der Dienst läuft nämlich in einer anderen (nicht interaktiven) WindowsStation ohne Desktop. Ein kleinen unvollständigen Abriss über die Begrifflichkeiten findest du hier: http://www.michael-puff.de/Developer...Stations.shtml

ich hab nen Test gemacht:

in den Ordner eine test.txt mit Inhalt ... blödsinn angelegt.

dann eine kopiere.cmd mit Inhalt: copy test.txt test.old

die sollte von dem Dienst aufgerufen werden. Wäre sie aufgerufen worden, hätte ich hinterher eine test.old gehabt..... war aber nicht


Gruss

Jörg

Christian Seehase 22. Feb 2006 23:46

Re: Aus Dienst heraus ein anderes Konsolenprogramm starten
 
Moin Jörg,

Zitat:

Zitat von emsländer
Wäre sie aufgerufen worden, hätte ich hinterher eine test.old gehabt..... war aber nicht

ich denke mal:
Wäre er Aufruf erfolgreich gewesen hätte das geklappt, und um zu ermitteln, warum das nicht erfolgreich war, könnte der Rückgabewert helfen, denn Aufgerufen wurde ShellExecute wohl (dass müsste Dir ja Dein Programm verraten).
Probier einfach mal als ersten Parameter nicht Application.Handle, sondern 0 anzugeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz