Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Listener erstellen (Dienst der Programm öffnet) (https://www.delphipraxis.net/131206-listener-erstellen-dienst-der-programm-oeffnet.html)

DelphiManiac 20. Mär 2009 14:41


Listener erstellen (Dienst der Programm öffnet)
 
Hallo ich habe folgendes Szenario:

- 1 Gerät mit USB Anschluss
- 1 Pc-Software zum steuern / parametrieren des Gerätes

nun will ich erkennen können, wenn das Gerät angestöpselt wird, das ist jedoch nicht das Problem.

Wie kann ich es lösen, dass im Hintergrund ein Dienst oder etwas ähnliches Läuft, er mein Programm startet sobald Ereignis XYZ eintritt?

Habe noch nie einen Dienst programmiert...

Vielen Dank schonmal

mkinzler 20. Mär 2009 14:42

Re: Listener erstellen (Dienst der Programm öffnet)
 
Was für ein Ereignis? (Anstöpseln Gerät?)
WMI wäre eine Option

DelphiManiac 20. Mär 2009 14:47

Re: Listener erstellen (Dienst der Programm öffnet)
 
Also im Prinzip müsste ich eine Anmeldung eines USB Gerätes im Gerätemanager erkennen können.
Das ist denke ich möglich, da mein USB Treiber die Funktion hat mir alle erkannten Geräte zurückzugeben.

Nur wie setzte ich das als Dienst um?

Angenommen ich habe eine Methode:

Delphi-Quellcode:
function CheckIsDeviceConnected:boolen {true= Gerät vorhanden bitte Software öffnen / false = nix machen }
Geht das mit einem Dienst?

mkinzler 20. Mär 2009 14:50

Re: Listener erstellen (Dienst der Programm öffnet)
 
Per WMI kannst du dich beim Anstöpseln informieren lassen (CallBack) und dann Kontrollieren, ob das neue Gerät das richtige ist.

DerDan 20. Mär 2009 14:52

Re: Listener erstellen (Dienst der Programm öffnet)
 
Hallo,

vielleicht kann ja der USB Treiber deines Gerätes eine SW starten.


mfg DerDan

DelphiManiac 20. Mär 2009 14:55

Re: Listener erstellen (Dienst der Programm öffnet)
 
Hi danke erstmal für eure Antworten,...

können wir das erstmal losgelöst von dem USB Gerät sehen. Meine Frage bezieht sich erstmal um das erstellen eines Dienstes.

- Wie wird er erstellt
- Wie wird er gestartet
- was brauch man dafür...

Danke! :-)

mkinzler 20. Mär 2009 14:56

Re: Listener erstellen (Dienst der Programm öffnet)
 
Welche Delphiversion setzt du ein?

DelphiManiac 20. Mär 2009 14:58

Re: Listener erstellen (Dienst der Programm öffnet)
 
BDS 2006

quendolineDD 20. Mär 2009 15:00

Re: Listener erstellen (Dienst der Programm öffnet)
 
Dann findest du das Grundgerüst eines Dienstes unter Datei -> Neu > weitere ... -> Delphi-Projekte => Service-Anwendung.

mkinzler 20. Mär 2009 15:00

Re: Listener erstellen (Dienst der Programm öffnet)
 
Da sollte es direkt per Vorlage gehen (TService)

DelphiManiac 23. Mär 2009 09:08

Re: Listener erstellen (Dienst der Programm öffnet)
 
Hallo,

danke für eure Tipps.

Ich werde mir dann mal TService genauer angucken...

Gruß
DM

Andreas L. 23. Mär 2009 10:00

Re: Listener erstellen (Dienst der Programm öffnet)
 
Wenn das zu startende Programm mit dem Benutzer interagieren soll muss der Dienst aber Interactive sein, was unter Vista IMHO nicht mehr funktioniert.

DelphiManiac 23. Mär 2009 11:36

Re: Listener erstellen (Dienst der Programm öffnet)
 
Hi,

nunja wirklich interagieren muss es eigentlich nicht.

Es reicht wenn der Service ein USB-Gerät scannt und dann wenn es angestöpselt ist das Programm startet, das abstöpseln und erneute anstöpseln kann der Service ja wieder selbst erkennen, oder sehe ich da etwas falsch??

Gruß
DM

mkinzler 23. Mär 2009 11:39

Re: Listener erstellen (Dienst der Programm öffnet)
 
Beim Starten des Programmes muss dann halt der Benutzerkontext gewechselt werden.

T-Olli 23. Mär 2009 12:38

Re: Listener erstellen (Dienst der Programm öffnet)
 
Geht es dir darum so etwas selber zu programieren oder benötigst du nur die Funktionalität? Im zweiten Fall solltest du einmal einen Blick auf USB Drive Letter Manager werfen.
mfg T-Olli


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 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