PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Win 7 x64 - Anwendung als Dienst oder per Script starten?


mirage
2012-02-17, 20:17:56
Nabend,

im Moment plage ich mich mit einem kleinere Problem rum.

Ich nutze einen HTPC mit Win 7 x64 und XBMC. Das XBMC starte ich via benutzerdefinierte Benutzeroberfläche.

Für den den es interessiert:

Hier der Code

XMBC.cmd

@ECHO OFF SET SourceDir=%~dp0 PUSHD "%SourceDir%" start /max wscript.exe xbmc.vbs

diese verweist auf XBMC.vbs

Set WshShell = WScript.CreateObject("WScript.Shell") Return = WshShell.Run(chr(34) & "C:\Program Files\XBMC\XBMC.exe" & chr(34) & " -fs", 3 ,true) WshShell.Run("explorer.exe")

Das Problem was jetzt besteht, ist dass XBMC als quasi Oberfläche geladen wird und die Explorer.exe mit dem Autostartordner keine Relevanz hat.

Ich möchte jetzt die PS3 Fernbedienung nutzen und mittel der Anwendung PS3BluMote.exe haut dies auch alles ganz prima hin, nur muss ich die Anwendung dazu separat starten, das nervt, weil ich aus XMBC raus muss.

Jetzt habe ich mir gedacht, jmd. von euch Professionals kennt eine Lösung die EXE in o.g. Script unter zu bringen oder eine andere Idee wie die Anwendung ohne den Desktop gestartet werden kann?

Winserv.exe hab ich schon ausprobiert, haut nicht hin der Mist. Ghostevent möchte ich auch nicht so recht nutzen... :mad:

Die Anwendung hat den Pfad, für den den es interessiert, C:\PS3BluMote.exe


Hoffe Ihr könnt mir da bisl weiterhelfen...


Grüße
mirage

MooN
2012-02-17, 20:56:38
Würde sagen so

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("C:\PS3BluMote.exe",2,false)
WshShell.Run(chr(34) & "C:\Program Files\XBMC\XBMC.exe" & chr(34) & " -fs", 3 ,true)
WshShell.Run("explorer.exe")

sei laut
2012-02-17, 21:05:35
exe to service Anleitungen gibts im Netz wie Sand am Meer. Das Programm sc hilft:
http://www.ehow.com/how_7259969_convert-exe-windows-service.html

mirage
2012-02-18, 00:25:54
Nabend,

habe beide Varianten ausprobiert.

@MooN

leider kommt bei deiner Variant ne Fehlermeldung und XBMC startet gar nicht erst, schade.

@sei laut

habe immer nur nach "Win 7 Anwendung als Dienst" gesucht und nichts mit SC gefunden. Leider wollte das mit der EXE als Dienst nicht so recht hinhauen. Dann bin ich auf runassvc gestoßen. Als Dienst habe ich die PS3BluMote.exe hingekommen aber damit haut es nicht hin.

Die gennante Anwendung mag einfach nicht als Dienst starten. Bleibt also nur noch per Script das Teil zu starten...

Könnt Ihr da ggf. noch mal Weiterhelfen?

Grüße
mirage

Edit: kann ich nicht sowas machen, hier. (http://www.winfaq.de/faq_html/Content/tip1000/onlinefaq.php?h=tip1004.htm)

Wenn der XMBC startet einfach das Script ausführen?

set WshShell = CreateObject("WScript.Shell")
WshShell.Run "C:\PS3BluMote.exe"

Was meinen die Kenner, hakt sich das mit der benutzerdefinierten Benutzeroberfläche?

MooN
2012-02-18, 03:01:57
VBScript mag die Klammern nicht...

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\PS3BluMote.exe",2,false
WshShell.Run chr(34) & "C:\Program Files\XBMC\XBMC.exe" & chr(34) & " -fs", 3 ,true
WshShell.Run "explorer.exe"

mirage
2012-02-18, 10:35:04
VBScript mag die Klammern nicht...

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\PS3BluMote.exe",2,false
WshShell.Run chr(34) & "C:\Program Files\XBMC\XBMC.exe" & chr(34) & " -fs", 3 ,true
WshShell.Run "explorer.exe"


Morgen,

Mensch MooN du bist mein Retter! haut hin, einfach wunderbar. Schönes WE euch allen... :-)

Mirage

mirage
2012-08-18, 14:06:24
Hallo Gemeinde,

ich habe in der Zwischenzeit einige Modifikationen an meinen HTPC vorgenommen, gerade für 3D Wiedergabe etc. So dass ich jetzt das deutlichen stärkere Tool EventGhost laden müsste. Wenn ich aber den Pfad von PS3BluMote.exe gegen den von EventGhost ersetze, erscheint eine Fehlermeldung, dass die angegebenen Datei nicht gefunden wurde: Fehler in Zeile 2?! Wenn ich den Pfad kopieren, dass startet EG sofort...

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Program Files (x86)\EventGhost\EventGhost.exe",2,false
WshShell.Run chr(34) & "C:\Program Files (x86)\XBMC\XBMC.exe" & chr(34) & " -fs", 3 ,true
WshShell.Run "explorer.exe"

Was habe ich falsch gemacht? EventGhost soll quasi im Hintergrund ganz ähnlich wie PS3BluMote.exe geladen werden, damit die Fernbedienung funktioniert...

Grüße
mirage

PatkIllA
2012-08-18, 14:19:36
Warum lässt du EventGhost nicht ganz normal per Autostart starten, so wie vorgesehen? Genau so XBMC. Und wofür die explorer.exe?
Warum überhaupt das Gefummel mit Skripten und Diensten?
Ich habe selbst eine recht umfangreiche EG Konfiguration und kann dir da nicht ganz folgen.

mirage
2012-08-18, 14:58:29
Ganz einfach,

weil der XBMC so als bentuzerdefinierte Benutzeroberfläche startet. Sobald XBMC wieder beendet wird, startet erst der gewohnt Desktop (ausgelöst durch den Start der explorer.exe).

Die benutzerdefinierte Benutzeroberfläche geht aber nur bei der Prof. Version.

PatkIllA
2012-08-18, 15:01:34
Welchen Vorteil hat das?
explorer.exe ist kein Dienst.

mirage
2012-08-18, 15:32:25
Es gibt verschiedene Vorteile.

PatkIllA
2012-08-18, 15:37:45
Es gibt verschiedene Vorteile.
Bitte nicht zu konkret werden. Mir fallen diverse Inkompatibilitäten und Probleme ein und die Shell als ganzes ersetzen willst du ja anscheinend auch nicht.

Du könntest versuchen die Programme über HKCU\Software\Microsoft\Windows\CurrentVersion\Run starten zu lassen. Im Gegensatz zu den Autostarteinrägen im Startmenü werden die AFAIK nicht von der explorer.exe gestartet.

Alternativ gibt es die Aufgabenplanung.

DerRob
2012-08-18, 17:37:50
Was habe ich falsch gemacht? EventGhost soll quasi im Hintergrund ganz ähnlich wie PS3BluMote.exe geladen werden, damit die Fernbedienung funktioniert...
Die Leerzeichen im Pfad von EventGhost. Du müsstest das wohl genauso machen wie beim XBMC:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Program Files (x86)\EventGhost\EventGhost.exe" & chr(34),2,false
WshShell.Run chr(34) & "C:\Program Files (x86)\XBMC\XBMC.exe" & chr(34) & " -fs", 3 ,true
WshShell.Run "explorer.exe"

mirage
2012-08-19, 08:09:29
Morgen,

ah besten Dank. Werde das nahher mal gleich ausprobieren.


Edit:

Vielen Dank dafür. Funktioniert jetzt alles wie es soll. :-)