Re: Filme auf dem Desktop sehen!
@ SirThornberry
Also der Vorschlag gefällt mir wirklich. Nur ... wie bekomme ich den Handle vom Desktop?!? |
Re: Filme auf dem Desktop sehen!
Wenn du es ganz genau haben willst ... GetDC(GetDesktopWindow) :angel:
|
Re: Filme auf dem Desktop sehen!
Nehmen wir mal als Beispiel den TMediaPlayer: Dort muss man zwar GetDc(0) zu weisen, aber das müsste man auf MediaPlayer.Display zuweisen. Wie geht das ?
|
Re: Filme auf dem Desktop sehen!
habt ihr mitgekriegt, dass wir unter KlatschundTratsch Pixel einenPixel besprochen haben, durch den man dieVideos einiger Player am Desktop sehen kann, indem man diesen Pixel gestreckt als Bildschirmhintergrund nimmt
|
Re: Filme auf dem Desktop sehen!
Zitat:
Du suchst dir die Overlayfarbe und die Farbe wird von der Graka mit einem Overlay versehen. Keine Ahnung was in K&T steht, aber das ist als wie Steinkohle... |
Re: Filme auf dem Desktop sehen!
Also mal zum aktuellen Stand der Dinge:
Ich habe mir eine Form erstellt und dort einen MediaPlayer draufgepackt. Dann wird bei OnCreate das ParentWindow der Form auf GetDesktopWindow gesetzt. Das funktioniert auch alles soweit nur wenn ich die Tastenkombination WINDOWS + D anwende, dann wird auch die Form minimiert. Wie kann ich das umgehen? Und zu dem MediaPlayer habe ich auch noch eine Frage. Ich möchte, dass das Video in demselben Fenster abgespielt wird. Muss ich dann noch eine Komponente ergänzen oder wie läuft das ab? Hab noch nie mit dieser Komponente gearbeitet und kenn mich deshalb gar nicht damit aus. Vielen Dank Jannik |
Re: Filme auf dem Desktop sehen!
Im selben Fenster ? Du wolltest es doch auf dem Desktop abspielen. Du musst Display und DisplayRect noch auf den Desktop zuweisen. Da ist es bei mir gescheitert.
|
Re: Filme auf dem Desktop sehen!
Mit GetDC(0) bekommst du den Device Contest des Desktops.
Das brauchst du, um auf dem Desktop zu zeichnen (BitBlt(), StrechBlt, TransparentBlt(), etc.) Desktop-Fenster-Handle bekommst du mit GetDesktopWindow(). Per GetWindowRect() weisst du auch wie groß der Desktop ist, wenn du ein Video skalieren möchtest. :) Ein Video auf den Desktop zu malen ist gar nicht so schwer. Mit der TMediaPlayer-Komponente kann man ein Viedo wiedergeben. Unter TMediaPlayer.Display kann man einstellen, wohin das Video ausgegeben werden soll, z.B. ein Formular, oder eine Komponenten auf einem Formular (z.B. ein Panel). Per BitBlt() zeichnet man dann das Bild der Komponente auf den Desktop. Per GetWindowDC(Panel1.Handle) holt man sich das DC für das Panel. Bsp.:
Delphi-Quellcode:
if (BitBlt(DesktopDC, 0, 0, Panel1.Width, Panel1.Height, PanelDC, 0, 0, SRCCOPY)) then
begin ... end; |
Re: Filme auf dem Desktop sehen!
wie umständlich. Einfach DSPack installieren ^^. Da geht des ganz einfach ^^
Delphi-Quellcode:
und schon zeigt er das ganze auf dem Desktop ^^
DSVideoWindowEx21.StartDesktopPlayback;
|
Re: Filme auf dem Desktop sehen!
Ich habs gepostet, weil die Frage aufkam und anscheinend noch Fragen offen waren. :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz