Jump to content

VB Skript Frage


test

Recommended Posts

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?

Link to comment

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?

Link to comment

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.

Link to comment

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.

Link to comment
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. :tongue:

 

Aber den entwicklern ist das scheinbar scheisegal.

Richtig! :bye:

Link to comment

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?

Link to comment

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.

Link to comment

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.

Link to comment

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!

Link to comment
  • 4 weeks later...

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?

Link to comment

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.

Link to comment

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.

Link to comment

.... 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 :whistle:

Link to comment
  • 4 weeks later...

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

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...