Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Filme auf dem Desktop sehen! (https://www.delphipraxis.net/77008-filme-auf-dem-desktop-sehen.html)

Goldesel 13. Sep 2006 15:29

Re: Filme auf dem Desktop sehen!
 
@ SirThornberry

Also der Vorschlag gefällt mir wirklich. Nur ... wie bekomme ich den Handle vom Desktop?!?

himitsu 13. Sep 2006 17:48

Re: Filme auf dem Desktop sehen!
 
Wenn du es ganz genau haben willst ... Hier im Forum suchenGetDC(GetDesktopWindow) :angel:

Nils_13 14. Sep 2006 09:02

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 ?

dino 14. Sep 2006 15:20

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

Elvis 14. Sep 2006 15:24

Re: Filme auf dem Desktop sehen!
 
Zitat:

Zitat von dino
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

Kunststück. :roll:
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...

Goldesel 14. Sep 2006 16:45

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

Nils_13 14. Sep 2006 16:58

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.

ste_ett 14. Sep 2006 17:35

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;

LH_Freak 14. Sep 2006 17:44

Re: Filme auf dem Desktop sehen!
 
wie umständlich. Einfach DSPack installieren ^^. Da geht des ganz einfach ^^

Delphi-Quellcode:
DSVideoWindowEx21.StartDesktopPlayback;
und schon zeigt er das ganze auf dem Desktop ^^

ste_ett 14. Sep 2006 17:45

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.
Seite 2 von 3     12 3      

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