test Posted December 16, 2011 Share Posted December 16, 2011 Hi, vorab: ich habe 0 Ahnung von VB Skript. ich wollte in der command.vbs etwas hinzufügen, in vorhandenen Skripten geschaut und zu dem Ergebnis gekommen: Case 30521 SendCommand($actionID) Set WshShell = CreateObject("WScript.Shell") WScript.Sleep(1000) WshShell.AppActivate("DVBViewer") aber ich bekomme den Error, daß bei WScript.Sleep(1000) ein Objekt erforderlich ist. ??!??? was mache ich falsch? Quote Link to comment
Tüftler Posted December 16, 2011 Share Posted December 16, 2011 Du kannst in der command.vbs keine Warteschleifen machen, das geht nur in externen Scripten. Selbst wenn es gehen würde unterbindet dies der DVBViewer! Welches Ziel verfolgst du denn? Quote Link to comment
test Posted December 16, 2011 Author Share Posted December 16, 2011 achsoooooooooo und ich dachte schon, wie blöd man sein muß um bei den paar Zeilen einen Fehler reinzubekommen Mein Ziel ist, daß bei PiP der DVBViewer nicht ständig den Fokus verliert und ich mit dem Keyboard erstmal wieder den Fokus setzen muß damit ich den DVBViewer weiter bedienen kann. Quote Link to comment
Tüftler Posted December 16, 2011 Share Posted December 16, 2011 Mit PiP meinst du eine andere Anwendung neben dem DVBViewer? Quote Link to comment
test Posted December 16, 2011 Author Share Posted December 16, 2011 Hmm? Nö. PiP = Picture in Picture oder auch Bild in Bild genannt Quote Link to comment
Tüftler Posted December 16, 2011 Share Posted December 16, 2011 Seit wann verliert er dabei den Fokus? Quote Link to comment
test Posted December 16, 2011 Author Share Posted December 16, 2011 (edited) Seit >4.1, hatte ich auch mal reported, nun ja, irgendwann sucht man halt nach Workarounds. Edited December 16, 2011 by test Quote Link to comment
Tüftler Posted December 16, 2011 Share Posted December 16, 2011 Kann ich nicht bestätigen. Das müsstest du schon nochmal genau beschreiben wie du was machst damit dies passiert. Sys, DVBVersion + Support.zip Quote Link to comment
trudeh Posted December 16, 2011 Share Posted December 16, 2011 @test: Der Viewer verliert den Fokus bei Nutzung einiger Plugins, oder unter Umständen auch wenn z.B. ein Trayicon vom AC3Filter aktiv ist. Quote Link to comment
tuck Posted December 16, 2011 Share Posted December 16, 2011 das problem tritt nur auf wenn in plugins1 ein plugin ist daß den datenstrom verändert und den bug gibt es schon seit es die weiteren plugin verzeichnisse gibt. Aber den entwicklern ist das scheinbar scheisegal. Quote Link to comment
Tüftler Posted December 17, 2011 Share Posted December 17, 2011 das problem tritt nur auf wenn in plugins1 ein plugin ist daß den datenstrom verändert und den bug gibt es schon seit es die weiteren plugin verzeichnisse gibt. Natürlich ist das Programm schuld wenn Plugins von Drittanbietern das Problem verursachen, was sonst. Aber den entwicklern ist das scheinbar scheisegal. Richtig! Quote Link to comment
test Posted December 17, 2011 Author Share Posted December 17, 2011 ich hab' das jetzt in ein VB Script ausgelagert, nun gibt's aber Probleme beim sendcommand. ich benutze DVBViewer.SendCommand(16395) und erhalte als Fehlermeldung: Objekt erforderlich. was mache ich jetzt wieder falsch? Quote Link to comment
Tüftler Posted December 17, 2011 Share Posted December 17, 2011 Na ganz klar, es ist ein Objekt erforderlich, steht doch da. Wie sieht es den bisher aus ( Komplett! )? Quote Link to comment
dbraner Posted December 18, 2011 Share Posted December 18, 2011 ich hab' das jetzt in ein VB Script ausgelagert, nun gibt's aber Probleme beim sendcommand. ich benutze DVBViewer.SendCommand(16395) und erhalte als Fehlermeldung: Objekt erforderlich. was mache ich jetzt wieder falsch? Versuchs mal damit: Dim DVBViewer Set DVBViewer = GetObject(, "DVBViewerServer.DVBViewer") DVBViewer.SendCommand(16395) Nur innerhalb der Command.vbs bewegst Du Dich im Kontext des DVBViewer-Objekts, kannst also Funktionen wie SendCommand direkt aufrufen. In anderen Scripten muss zunächst eine Referenz auf den DVBViewer initialisiert werden, was der Aufruf von GetObject macht. Quote Link to comment
Joshua06 Posted December 18, 2011 Share Posted December 18, 2011 Mit PiP meinst du eine andere Anwendung neben dem DVBViewer? Denke eher er meint Picture in Picture, also Bild in Bild... Quote Link to comment
Tüftler Posted December 18, 2011 Share Posted December 18, 2011 Denke eher er meint Picture in Picture, also Bild in Bild... Meine Nachfrage war deshalb so da ich recht häufig PiP benutze und dieses Problem noch nie hatte. Logischer wäre es für mich daher gewesen das eine andere Anwendung benutzt wird und der DVBViewer im Fenstermodus läuft. Dann "verliert" dieser natürlich auch den Fokus. Quote Link to comment
test Posted December 18, 2011 Author Share Posted December 18, 2011 Moin dbraner, Versuchs mal damit: Dim DVBViewer Set DVBViewer = GetObject(, "DVBViewerServer.DVBViewer") DVBViewer.SendCommand(16395) cool. 1000 Dank. Funktioniert :-) in der command.vbs: 'PiP (geändert) Case 30521 Path = osd.AppDir sPath = """"&Path&"Scripts\pip.vbs"&"""" Set objShell = CreateObject("Wscript.Shell") Status = objShell.run(sPath,0,false) set Status = nothing set Path = nothing set sPath = nothing set ObjShell = nothing und dann in der pip.vbs Option Explicit Dim DVBViewer, WShShell Set DVBViewer = GetObject(, "DVBViewerServer.DVBViewer") Set WShShell = CreateObject("WScript.Shell") DVBViewer.SendCommand(16395) WScript.Sleep 1000 WShShell.AppActivate("DVBViewer") WScript.Quit(0) und dann halt für 'Bild in Bild' noch 30521 in den DVBViewer Eingaben konfigurieren und gut. Vielen Dank für die Hilfe! Quote Link to comment
test Posted January 11, 2012 Author Share Posted January 11, 2012 weitere Frage. Ich habe folgendes VB Skript erstellt um einen OSD-Text in DVBViewer zu "posten" Option Explicit Dim DVBViewer, Text, Duration Set DVBViewer = GetObject(, "DVBViewerServer.DVBViewer") if WScript.Arguments.Count = 0 then WScript.Echo "Missing parameters" WScript.Quit(0) end if if wscript.arguments.count <= 1 then Duration = 5000 else Duration = WScript.Arguments(1) end if Text = WScript.Arguments(0) DVBViewer.osd.showInfoinTVpic "" & Text,Duration WScript.Quit(0) was auch funktioniert. Nun meine Frage: kann man das auch remote machen, sodaß ich z.B. von einem anderen Rechner etwas in's OSD vom HTPC "pinseln" kann? oder evtl. wenn man per RDP auf dem HTPC ist, daß es trotz nicht laufenden DVBViewer in der RDP Session trotzdem in den laufenden DVBViewer in der Console Session schreibt? Quote Link to comment
Tjod Posted January 11, 2012 Share Posted January 11, 2012 Du kannst das COM-Interface auch von einem Seerat gestarteten Script/Programm ansprechen. Der EPG Update Script macht das z.B. http://www.DVBViewer.tv/forum/topic/41624-weiterentwicklung-epg-update-script/ Aber über das Netzwerk geht das nicht ohne weiteres. Da brächtest du ein Tool was auf Netzwerkaufrufe wartet und das Texte dann an das COM-Interface weiterreicht. Quote Link to comment
test Posted January 13, 2012 Author Share Posted January 13, 2012 Du kannst das COM-Interface auch von einem Seerat gestarteten Script/Programm ansprechen. Der EPG Update Script macht das z.B. http://www.DVBViewer.tv/forum/topic/41624-weiterentwicklung-epg-update-script/ hmm so ganze blicke ich aber nicht was da in dem Skript anders gemacht wird?! Quote Link to comment
test Posted January 14, 2012 Author Share Posted January 14, 2012 gibt's irgendwo eine Übersicht was man via COM vom DVBViewer alles abfragen kann? Quote Link to comment
dbraner Posted January 14, 2012 Share Posted January 14, 2012 gibt's irgendwo eine Übersicht was man via COM vom DVBViewer alles abfragen kann? Im Members Bereich kannst Du eine Windows-Hilfe-Datei mit einer Referenz der COM-Schnittstelle runterladen. Quote Link to comment
test Posted January 14, 2012 Author Share Posted January 14, 2012 Args ich Blindfisch. Danke 8-) Quote Link to comment
test Posted January 14, 2012 Author Share Posted January 14, 2012 hmm, hat sich da in den letzten >5 Jahren nix getan? Mitte 2006 last modified. https://www.DVBViewer.tv/members/download.php?id=446 Quote Link to comment
dbraner Posted January 14, 2012 Share Posted January 14, 2012 hmm, hat sich da in den letzten >5 Jahren nix getan? Mitte 2006 last modified. https://www.DVBViewer.tv/members/download.php?id=446 Alles wichtige ist dabei. Interessant sind auch die Datamanager Variablen. Die sind dort nicht dokumentiert. Dafür gibt es aber den DVBViewer Spy, der Dir die Inhalte der Variablen anzeigt. Darüber lassen sich viele nützliche Infos abfragen. Quote Link to comment
Tüftler Posted January 14, 2012 Share Posted January 14, 2012 .... Dafür gibt es aber den DVBViewer Spy, der Dir die Inhalte der Variablen anzeigt. Darüber lassen sich viele nützliche Infos abfragen. Wenn sie denn gefüllt werden Quote Link to comment
godik Posted February 7, 2012 Share Posted February 7, 2012 Nun meine Frage: kann man das auch remote machen, sodaß ich z.B. von einem anderen Rechner etwas in's OSD vom HTPC "pinseln" kann? oder evtl. wenn man per RDP auf dem HTPC ist, daß es trotz nicht laufenden DVBViewer in der RDP Session trotzdem in den laufenden DVBViewer in der Console Session schreibt? Vielleicht kannst Du damit was anfangen. Ich habe das mal im zusammenspiel mit xamp und einer kleinen PHP Seite gemacht. PHP und OSD popup Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.