Jump to content

DVBViewer mit zwei Bildschirmen


Recommended Posts

Sorry, ich weiss, dass es zu dem Thema schon diverse Diskussionen gab, aber ich finde Sie einfach nicht mehr.

 

Ich betreibe meinen HTPC mit zwei Displays (TFT und Beamer) und suche eine einfache Möglichkeit (eine Taste) um DVBViewer von einem Bildschirm auf den anderen umzuschalten.

 

Im Moment macht ich das so:

- DVBViewer Fullscreen-Modus beenden

- mit der Maus auf den anderen Bildschirm rüberziehen

- Fullscreen-Modus wieder aktivieren

 

Lässt sich das mit dem VBS lösen ?

 

Bitte um Tipps oder Links auf bestehende Diskussionen zu dem Thema.

 

Gruß, dgdg

Link to comment

Bei Nvidia gibt es die Möglichkeit eine Anwendung auf ein anderes Fenster zu legen wenn man diesen Fenstermodus nutzt. Ob dafür allerdings Tastenbelegungen möglich sind weiß ich nicht.

Link to comment

Ich habe leider eine ATI (Club 3D).

 

Frage an die COM-Spezialisten:

 

Kann man die Position des DVBViewer-Fensters über die COM-Schnittstelle verändern ?

Könnte man darüber den DVBViewer auf den zweiten Monitor verschieben (bei erweitertem Desktop, der sich über zwei Bildschirme erstreckt) ?

 

Dann könnte man das, was ich im Moment manuell machen, komplett über ein VB-Script erledigen.

 

Gruß, dgdg

Edited by dgdg
Link to comment

Das geht sogar recht einfach:

 

function SetMonitor(Monitor: Integer): HRESULT;

var

Handle: THandle;

Rect: TRect;

begin

result := E_FAIL;

 

Handle := FindWindow(nil, 'DVBViewer');

if Handle = 0 then exit;

 

SendMessage(Handle, $B2C2, $0815, 105);// disable Fullscreen

 

Rect := screen.Monitors[Monitor].BoundsRect;

if MoveWindow(Handle, Rect.Left, Rect.Top,

Rect.Right - Rect.Left, Rect.Bottom - Rect.Top, true) then

result := NOERROR;

 

SendMessage(Handle, $B2C2, $0815, 105); // enable Fullscreen

end;

 

Ich bin kein VBS Spezialist, aber das zu übersetzen ist denk ich kein größerer Aufwand :bye:

 

Christian

Link to comment

Ich habe mal im Internet recherchiert, wie ich ein FindWindow von VBS aus machen kann. Ich finde aber nur Beispiele für VB6 bzw. VBA. Gibt es überhaupt eine Möglichkeit, die Windows API von VBS aus zu nutzen ?

 

EDIT: hab's rausgefunden. Geht nicht direkt. Nur über ActiveX z.B. DynaWrap oder so ähnlich.

Das ist von hinten durch die Brust ins Auge. Ich wollte mir das eigentlich ersparen, aber ich versuch's jetzt in C++. :bye:

 

Gruß, dgdg

Edited by dgdg
Link to comment

Du kannst im ATI Treiber auswählen, daß ein Overlay immer auf einen bestimmten Bildschirm gesendet wird (in deinem Fall also der Beamer).

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