Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dienst und WindowsAPI? (https://www.delphipraxis.net/41986-dienst-und-windowsapi.html)

Sämy 11. Mär 2005 16:34


Dienst und WindowsAPI?
 
Wieso funktionieren Funktionen wie FindWindow oder SendMessage bei einem Dienst nicht?

Luckie 11. Mär 2005 16:37

Re: Dienst und WindowsAPI?
 
Weil ein Dienst in der Regel kein Fenster hat. Das hättest du dir aber auch selber denken können - oder? :roll: Nutze zur Kommunikation MMF oder Pipes.

Sämy 11. Mär 2005 17:22

Re: Dienst und WindowsAPI?
 
das ich das auf einen dienst nicht bekomme ist mir klar, aber wieso kann ich aus einem konsolenprogramm, das als dienst läuft keine handles von anderen Fenstern auslesen (oder messages senden)?

Luckie 11. Mär 2005 17:39

Re: Dienst und WindowsAPI?
 
Ein Konsolenprogramm als Dienst? :gruebel: Also ein Dienst läuft generell in einer anderen WinStat und aknn dem nach nicht so einfach die Fenster in der WinStat0 und dem Default Desktop auslesen.

Sämy 11. Mär 2005 17:43

Re: Dienst und WindowsAPI?
 
Zitat:

Zitat von Luckie
Ein Konsolenprogramm als Dienst?

Ja, ok, ich weiss nicht genau, wie man dem sagt. dienst?!? Es wird auf jeden fall gleich geschrieben ;)

aber zum thema: wie bekomme ich das denn hin? sonst macht dieser ganze dienst bei mir keinen sinn...

Luckie 11. Mär 2005 17:46

Re: Dienst und WindowsAPI?
 
Was wird gleich geschrieben? Hast du eventuell nur ein Konsolenprogramm?

Sämy 11. Mär 2005 17:51

Re: Dienst und WindowsAPI?
 
neinnein. ich habe einen dienst. ist registriert und funktiniert. nur kann ich eben von diesem aus einem anderen fenster keine message senden, keine handles mit findwindow raussuchen (und kein programm anständig starten => anderer Thread). Und ich frage mich nun, wieso und vorallem, wie kann ich dies aktivieren (oder evtl. anders lösen).

Luckie 11. Mär 2005 17:57

Re: Dienst und WindowsAPI?
 
Na wil er eben in einer anderen WinStat und somit auf einem anderen Desktop läuft.

Sämy 11. Mär 2005 18:00

Re: Dienst und WindowsAPI?
 
das muss aber sicher irgentwie gehen, damit ich dies trotzdem tun kann, oder?

Luckie 11. Mär 2005 18:02

Re: Dienst und WindowsAPI?
 
Was willst du denn eigentlich machen?

Sämy 11. Mär 2005 18:07

Re: Dienst und WindowsAPI?
 
ein programmverwaltungsprogramm ;)
also es startet zu beginn programme autom. und schaut ab dann auf dem server ob updates vorhanden sind. dann schliesst es die jew. programme und führt das update aus und startet diese dann wieder.

Luckie 11. Mär 2005 18:10

Re: Dienst und WindowsAPI?
 
Und wozu muss es dann irgendwelche Fenster finden? BTW dir ist klar, dass diese Programme, die von dem Dienst gestartet werden unter dem Systemkontext laufen und entsprechend hohe Rechte haben?

Sämy 11. Mär 2005 18:14

Re: Dienst und WindowsAPI?
 
Also im mom ist es erst das updaten (und die programme laufen selbstständig)

Zitat:

BTW dir ist klar, dass diese Programme, die von dem Dienst gestartet werden unter dem Systemkontext laufen und entsprechend hohe Rechte haben?
Und? sind meine eigenen programme. aber hättest du mir vieleicht mal einige stichwörter zu diesem thema, um ein wenig zu googlen (finde im mom gar nichts brauchbares :S )

Luckie 11. Mär 2005 18:31

Re: Dienst und WindowsAPI?
 
Du hast mir imme rnoch nicht gesagt, warum du irgendwelche Fenster finden musst. Such den Prozess beende ihn mit MSDN-Library durchsuchenTerminateProcess (zwar nicht sehr schön, aber das scheint bei dir wohl eher eine untergeordnete Rolle zu spielen), mach dein Update und starte das Prgramm wieder.

Sämy 11. Mär 2005 19:06

Re: Dienst und WindowsAPI?
 
bei diesem ist wieder ein handle benötigt => kann ich nicht auslesen...

Chewie 11. Mär 2005 19:11

Re: Dienst und WindowsAPI?
 
Aber ein Prozess- und kein Fensterhandle.

Sämy 11. Mär 2005 19:14

Re: Dienst und WindowsAPI?
 
was mich an diesem dienst festhält ist nur, dass das programm auf einem server laufen wird, und es sichergestellt werden muss, dass die programme laufen. daher ein dienst (wird schon ausgeführt, bevor man sich bei windows angemeldet hat). es muss aber trotzdem möglich sein, dass man ein programm visuell sehen kann => ich muss es auf dem anderen desktop starten und nach dem handle abfragen (wenn ich dich richtig verstanden habe)

und das mit dem fenster schliessen: das machen die programme selbst. daher muss ich eine message senden (sie müssen ihre derzeitige arbeit noch erst beenden)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:20 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-2025 by Thomas Breitkreuz