Du kannst auch Teile deines Fensters transparent machen oder es an beliebigen Stellen sozusagen durchlöchern, dass man den Hintergrund hindurch sieht. Dann kannst du auch deine TopMostWindow-Variante verwenden und überall, wo noch nichts gezeichnet wurde das Fenster gar nicht erst anzeigen lassen, sodass man den Hintergrund noch sieht.
Suche dazu z.B. mal nach SetWindowRgn hier oder im englischen Forum.
Direkt auf Desktop zeichnen
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Direkt auf Desktop zeichnen
Es gibt per DirectX wohl die Möglichkeit direkt auf den Desktophintergrund zu rendern
der VLC-Player kann dort zumindest Videos darstellen.
da der QuelllCode des VLC verfügbar ist, könnte sich ein Interessent ja mal
da dranmachen sowas mit PB zu lösen ..
.
guckmalemal das hier .. das malt "quasi" auf den Desktop und lässt die
Icons frei (nicht so richtig, aber so ähnlich)
der VLC-Player kann dort zumindest Videos darstellen.
da der QuelllCode des VLC verfügbar ist, könnte sich ein Interessent ja mal
da dranmachen sowas mit PB zu lösen ..

guckmalemal das hier .. das malt "quasi" auf den Desktop und lässt die
Icons frei (nicht so richtig, aber so ähnlich)
Code: Alles auswählen
LoadFont(0,"",32)
Debug ElapsedMilliseconds()
Time$ = FormatDate("%hh:%ii",Date()-ElapsedMilliseconds()/1000+(3600*8))
ExamineDesktops()
w=DesktopWidth(0):h=DesktopHeight(0) ;
tw=30;428 ;textwidth (gemessen)
th=120 ;textheight(gemessen)
del=333
del=33
ro.l=235:go.l=80:bo.l=80
;r=82:g=111:b=bo
py=h-th
For i=0 To 30
FreeFont(0)
LoadFont(0,"",Random(22)+10)
hdc = GetWindowDC_(GetShellWindow_())
SelectObject_(hdc,FontID(0))
SetBkMode_(hdc,#TRANSPARENT)
r=ro-20+Random(40):g=go-20+Random(40):b=bo-20+Random(40)
px=Random(w-tw):py=h-th:py=Random(50)+(h-th-50);:py=h-th
SetTextColor_(hdc,#Black)
TextOut_(hdc,px+1,py+1,Time$,5)
Select Random(2)
Case 0
SetTextColor_(hdc,#Yellow)
Case 1
SetTextColor_(hdc,#Red)
Case 2
SetTextColor_(hdc,#Green)
EndSelect
TextOut_(hdc,px,py,Time$,5)
For iv=1 To 512
InvalidateRect_(iv,0,0) ;Soll den Rest bereinigen (iconebene was auch immer)
Next iv
del+33
Debug del
ReleaseDC_(GetShellWindow_(),hdc)
Delay(del)
Next
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.