Qualche tempo fa ho notato che VLC ha la capacità di riprodurre video direttamente sul desktop. Quando l'ho fatto nella mia scuola, su Windows XP, ha giocato sotto le icone. Quando ho provato a casa, su Windows 7, nascondevo le icone. Non sono sicuro che sia il sistema operativo o se si tratta di un aggiornamento di VLC, ma sono interessato a riprodurlo sotto le icone.In che modo VLC riproduce video sul desktop?
Dopo aver notato questo, ho avuto un'idea di creare un desktop animato di sorta. Niente di speciale, solo alcuni video selezionati per mio uso personale. L'idea che ho iniziato era quella di riprodurre un video nella mia finestra (usando mciSendString
) e fare un PrintWindow
di ciascun fotogramma, salvarlo in un file e impostare lo sfondo del desktop come file. Da allora ho perso il codice specifico, ma non funzionava, e, inutile dirlo, si comporterebbe in modo orribile.
Tornando ad esso, ho realizzato che ci deve essere un modo molto più efficiente di quello comunque, ma non riesco a capire cosa sia.
Ho provato (tutto in Windows 7 ora) impostando la finestra genitore del video su GetDesktopWindow
, con l'effetto di ridurre a icona tutte le finestre lasciando una nuova finestra sulla barra delle applicazioni che riproduce il video, ma riuscendo a visualizzare il desktop facendo clic sul pulsante Aeek Peek o battere Win + D.
Ho quindi provato lo stesso con una finestra padre della finestra di visualizzazione della cartella del desktop. Il risultato era la stessa finestra quotata che riproduceva il video, ma questa volta non è stato possibile accedere al desktop e non è stata creata una nuova finestra. È come se stesse giocando sopra la maggior parte del desktop, ma i gadget vanno al di sopra e le aree verso destra e in basso si mostrano ancora a causa della dimensione della finestra di riproduzione più piccola.
Che cosa fa VLC per riprodurlo sul desktop stesso, con l'aspetto di uno sfondo dinamico? È molto più difficile farlo giocare sotto le icone (e i gadget se aggiungo in Windows 7, suppongo)? Il programma stesso verrà utilizzato su Windows XP. Non sono sicuro che DirectShow abbia qualcosa che possa essere d'aiuto, ma sono disposto a usarlo, tra le altre aree dell'API di Windows oltre a MCI. Preferirei che la soluzione fosse in C++, se fa la differenza. .NET funziona anche bene, ma potrebbe richiedere un po 'di tempo in più.
penso che si può avere una pagina web come una carta da parati su Windows XP, ma non sono sicuro se il suo disponibili su Windows 7. Bene, l'idea sarebbe quella di giocare all'interno di un ActiveX (dal momento che l'hai taggato con C++), ma credo che sia molto restrittivo. Tuttavia, probabilmente ci sono altri modi per ottenere ciò che desideri un po 'più elegantemente. – nullpotent
@iccthedral, se funziona, è qualcosa. Non ho usato i controlli ActiveX, ma posso sicuramente iniziare. Lo userò solo a scuola, quindi lavorare su XP non è un problema lì. – chris
A meno che tu non voglia farlo tu stesso per divertimento, [ecco] (http: //www.dreamsceneseven.it /) un'utilità che abilita [Windows DreamScene] (https://en.wikipedia.org/wiki/Windows_DreamScene) su Windows 7. – Praetorian