PDA

View Full Version : vb6 - Monitor Secondario


jorpis
22-03-2005, 16:06
Salve a tutti ho una bella domandina, dunque ho fatto un media center fai da te, e tutto va per il meglio al visualizzazione televisiva non da problemi e il mio media player parte dove dico io (ovvero sul monitor secondario....che non è altro che la tv) fin qui tutto ok, il problema lo ho con Power DVD, non riesco a farlo aprire sul monitor secondario, ho provato con qualche parametro della shellexecute ma non son riuscito...avete mica qualche idea ?
il problema nasce dal fatto che aziono il tutto con il telecomando, quindi non posso certo trascinare la finestra del PowerDVD sul secondario.. grazie a tutti

RaouL_BennetH
23-03-2005, 22:53
Originariamente inviato da jorpis
Salve a tutti ho una bella domandina, dunque ho fatto un media center fai da te, e tutto va per il meglio al visualizzazione televisiva non da problemi e il mio media player parte dove dico io (ovvero sul monitor secondario....che non è altro che la tv) fin qui tutto ok, il problema lo ho con Power DVD, non riesco a farlo aprire sul monitor secondario, ho provato con qualche parametro della shellexecute ma non son riuscito...avete mica qualche idea ?
il problema nasce dal fatto che aziono il tutto con il telecomando, quindi non posso certo trascinare la finestra del PowerDVD sul secondario.. grazie a tutti

Con la premessa che non so rispondere alla tua domanda, vorrei però fartene una io:

Che c'entra questo con il titolo del tuo 3d dove indichi Visual Basic 6?

:D

cionci
24-03-2005, 02:28
Probabilmente perchè lo vuole fare con VB6 !!!

Io non ho mai provato, ma il secondario lo vede come estensione del primario ? Ad esempi...se entrambi sono a 1024x768 la risoluzione virtuale vista è 2048x768 ?

jorpis
24-03-2005, 12:02
eheheh si voglio farlo in vb6 o in .net (ma dovrei riscrivermi il media center) non ho letto il regolamento ma pensavo fosse utile mettere il linguaggio con cui si desidera sviluppare nel titolo del Thread.
Cmq ho risolto in maniera diversa, la mia radeon infatti ha una bella modalità teatro che mi mette a tutto schermo tutti i video che vengono aperti sul televisore (non impostato come monitor secondario ma come...duplicato se non vado errato) per il programma invece ho semplicemente tolto bordi alle form e fatto sparire la task bar con un paio di API Grazie lo stesso !!!!

x cionci, il secondario lo vede come estensione del primario, la risoluzione può essere uguale o no, per lanciare una form su secondario mi gestivo semplicemente il left delle form, per il media player ho messo il componente WMP su un form e quindi ho la stessa soluzione, ma per il power DVD ...niente componente niente form, niente left.....anche se son convinto che qualche api ci deve essere....ho risolto in altro modo, non è che devo venderlo tanto :D THX!

cionci
24-03-2005, 12:04
Infatti c'è la API MoveWindow: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/movewindow.asp

jorpis
24-03-2005, 13:32
..appunto eheheh adesso la provo comunque, grazie per la segnalazione :p

jorpis
24-03-2005, 13:49
Option Explicit

Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long


Private Sub Command1_Click()

Dim Rit As Long
Rit = FindWindow(vbNullString, "Documenti")
MoveWindow Rit, 100, 100, 1000, 1000, True

End Sub

ecco qua, il find window trova l'hwnd della finestra che si vuole spostare o ridimensionare, e il movewindow sposta e ridimensiona.....mi sa che alla fine me ne infischio della modalità teatro e lo imposto così....decidessi di regalarlo...o cambiare scheda video


Grazie ancora

cionci
24-03-2005, 15:52
Per la modalità a pieno schermo come si comporta ? Se metti a pieno schermo prende un solo monitor o entrambi ?

Se prendesse un solo monitor basterebbe mandare in input alla finestra lo shortcut per mettersi a pieno schermo...

jorpis
24-03-2005, 16:13
Prende solo lo schermo in cui è attiva l'applicazione, quello non è un problema visto che il powerdvd si può configurare tranquillamente per essere lanciato a schermo pieno...per il Medi a player non ho problemi visto che ho il componente, l'ammazzata è farsi la grafica....ora...per i film sia da cd che da dvd ...che da hard disk o HD esterno non ho problemi...vediamo se mi viene voglia di fare la parte per la musica....o se mi rompo e installo direttamente il Windows XP media center edition 2005 :) ...cmq per lanciare l'applicazione a schermo pieno si può fare tranquillamente cosi
una dichiarazione a un object generico
un'istanza con un create object alla classe "Shell.Application"
poi con l'oggetto hai la shellexecute alla quale puoi passare(oltre all'applicazione da aprire) dei parametri per la visualizzazione vedi a schermo pieno, o direttamente in task bar o altro.
Cmq ho deciso, tolgo la modalità teatro, estendo il desktop (Tv secondario) e con quelle due api mi apro il powerdvd sul televisore tramite shell execute a schermo pieno.
Quasi quasi me lo faccio in .net visto che devo cmq studiarmelo