Selbst erstellten Dienst mit Fenster starten ?

Hallo zusammen,

hab eine Davis Vantage Pro2. Die dazugehörige WeatherLink Softare bleibt ab u. zu hängen. Daher hab ich mir eine Überwachung gebaut, die wenn die Daten länger 10 Minuten nicht aktualisiert werden, die .exe neu startet. Dazu muss ich aber eine Seesion ID angeben. Die kann aber wechseln. Nun dachte ich, richt dir das doch einfach als Dienst ein. Nichts leichter als das sprach P…
Leider laufen wohl die Funktionen nicht wenn das Programmfenster nicht offen ist.

Hier meine Fragen:

  • kann man, und wenn ja wie, eine exe als dienst starten und auch das Fenster dazu öffen?

  • alternativ: wie kann ich die ID / Kennung des angemeldeten users auslesen, damit ich die SessionID mitgeben kann.

Danke im voraus für Eure Antworten,

Spontan hätte ich da 2 Ansätze:

(1) den Dienst „Erkennung interaktiver Dienste“ [UI0Detect] starten (Starttyp ist per default „manuell“) -> der ist für solche Fälle gedacht
(2) „Datenaustausch zwischen Dienst und Desktop zulassen“ in den Diensteigenschaften aktivieren

Beste Grüße
/Jens

Hallo Jens,

danke für die Tipps.
2. hatte ich schon und 1. hat nix geholfen.

@all: Weitere Ideen?

Schade :rolleyes:
Du könntest noch mit „sc config type= …“ ein wenig spielen LINK

Wenn sich die .exe als Dienst zu störrisch anstellt und da das Fenster ja scheinbar offen sein muss, würde ich es an der Stelle eher über den Scheduler lösen und das Programm im User-Kontext bei Anmeldung starten.

Beste Grüße
/Jens

Hallo Jens,

danke für den Tipp mit dem Scheduler. Hätt ich auch selber drauf kommen können.

Hat aber leider nicht funktioniert. Wenn ich das Programm im User-Kontext ausführen lasse, bekomm ich ne blöde Meldung, dass das Programm nicht vollständig installiert sei, oder in ein falsches Verzeichnis aktualisiert wurde.

Ich geb das hier an der Stelle jetzt mal auf.

Mein Problem ist ja auch nicht der Start des Programms, sondern das beenden und neu starten des Programms wenns keine Daten mehr liefert.

… Hab das mit mit IPS aus einem Script heraus mit IPS_ExecuteEx gemacht (angepasstes Script aus dem Forum). Das funktioniert so weit auch, nur dass ich eben die Kennung des angemeldten users wissen muss, da die mitgegeben wird. …

… Doku lesen Hilft. Wenn man eine Kennung <0 mit gibt, wird der user automatisch ausgewählt. Damit funktionierts bis jetzt.

Danke noch mal fürs mitdenken.