dgdg Posted July 14, 2006 Share Posted July 14, 2006 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 Quote Link to comment
Klausing Posted July 14, 2006 Share Posted July 14, 2006 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. Quote Link to comment
dgdg Posted July 14, 2006 Author Share Posted July 14, 2006 (edited) 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 July 14, 2006 by dgdg Quote Link to comment
hackbart Posted July 14, 2006 Share Posted July 14, 2006 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 Christian Quote Link to comment
dgdg Posted July 15, 2006 Author Share Posted July 15, 2006 Tja, ohne weiter Tipps bekomme ich das leider nicht in VBS übersetzt. Trotzdem, Danke. Gruß, dgdg Quote Link to comment
dgdg Posted July 15, 2006 Author Share Posted July 15, 2006 (edited) 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++. Gruß, dgdg Edited July 15, 2006 by dgdg Quote Link to comment
powerhawk Posted July 20, 2006 Share Posted July 20, 2006 Du kannst im ATI Treiber auswählen, daß ein Overlay immer auf einen bestimmten Bildschirm gesendet wird (in deinem Fall also der Beamer). 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.