desktop id /zeichnen
desktop id /zeichnen
hi ich habe hier im forum rumgesucht, aber leider nichts darüber gefunden...
ich habe ein frage:
gibt es eine desktopid? also wenn ich darauf mein bild zeichnen würde, dann würde es andere fenster im vordergrund nicht überschreiben? sondern NUR den desktop?
meine idee:
ich habe letztens (mal wieder) matrix geguckt und wollte als bewegbaren hintergrund die matrixanimation setzen...
dazu habe ich schon versucht ein hintergrund als .gif zu verwenden (klappt nicht)
wenn ich jetzt auf dem desktop (ohne andere fenster) zeichnen könnte würde es funktionieren:
ich werde dann zuerst das hintergrundbild auf schwarz setzen und ein screenshot vom desktop machen. alle icons auslesen, meine matrix auf ein image zeichen, icons drüberzeichnen und das fertige bild auf den desktop malen.
ich weiß es funzt nicht 100%ig (wenn jemand einen rechtsklick auf ein icon macht, wird das menü überschrieben) aber das macht mir nichts
wäre echt cool wenn ihr ideen hättet, wie man das realisieren kann.
MFG tomtom
ich habe ein frage:
gibt es eine desktopid? also wenn ich darauf mein bild zeichnen würde, dann würde es andere fenster im vordergrund nicht überschreiben? sondern NUR den desktop?
meine idee:
ich habe letztens (mal wieder) matrix geguckt und wollte als bewegbaren hintergrund die matrixanimation setzen...
dazu habe ich schon versucht ein hintergrund als .gif zu verwenden (klappt nicht)
wenn ich jetzt auf dem desktop (ohne andere fenster) zeichnen könnte würde es funktionieren:
ich werde dann zuerst das hintergrundbild auf schwarz setzen und ein screenshot vom desktop machen. alle icons auslesen, meine matrix auf ein image zeichen, icons drüberzeichnen und das fertige bild auf den desktop malen.
ich weiß es funzt nicht 100%ig (wenn jemand einen rechtsklick auf ein icon macht, wird das menü überschrieben) aber das macht mir nichts
wäre echt cool wenn ihr ideen hättet, wie man das realisieren kann.
MFG tomtom
Pure Basic 4.0
Re: desktop id /zeichnen
sowas?TomTom hat geschrieben:gibt es eine desktopid?
Code: Alles auswählen
Debug GetDesktopWindow_()
a²+b²=mc²
Re: desktop id /zeichnen
vielen dank kiffi für die schnelle antwort 
wenn ich zuhause bin werde ich es testen...
LG tomtom

wenn ich zuhause bin werde ich es testen...
LG tomtom
Pure Basic 4.0
Re: desktop id /zeichnen
hmm hab da noch ein kleines problem...
jetzt habe ich ja die fensterid... aber wie kann ich darauf zeichnen?
geht das mit StartDrawing() oder wie?
vielen dank! tomtom
jetzt habe ich ja die fensterid... aber wie kann ich darauf zeichnen?
geht das mit StartDrawing() oder wie?
vielen dank! tomtom
Pure Basic 4.0
- HeX0R
- Beiträge: 3040
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Re: desktop id /zeichnen
Ahh Matrix, da fällt mir doch ein älterer Thread ein.
Puregolf haben wir auch schon ewig nicht mehr gespielt...
Puregolf haben wir auch schon ewig nicht mehr gespielt...
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
Re: desktop id /zeichnen
noch was zum Thema (eventuell)
http://www.purebasic.fr/german/viewtopi ... 97#p277097
(oder du nimmst 'nen Edding, damit kann mal auch prima auf dem Desktop malen
)
http://www.purebasic.fr/german/viewtopi ... 97#p277097
(oder du nimmst 'nen Edding, damit kann mal auch prima auf dem Desktop malen

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.
Re: desktop id /zeichnen
Oder so .. mit dem VLC unter XP zumindest
vlc --video-wallpaper --qt-start-minimized --repeat "und hier das MatrixDingsbumsvideo rein"
vlc --video-wallpaper --qt-start-minimized --repeat "und hier das MatrixDingsbumsvideo rein"
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.
Re: desktop id /zeichnen
vielen dank bobobo!
kann man auch anstatt des textes ein sprite oder image zeichnen, bei diesem code?
hdc = GetWindowDC_(GetShellWindow_())
text$ = "Kacke nee "
SetTextColor_(hdc,#Cyan)
SetBkColor_(hdc,#Red)
TextOut_(hdc,0,0,text$,Len(text$))
ReleaseDC_(GetShellWindow_(),hdc)
vielen dank! mfg tomtom
kann man auch anstatt des textes ein sprite oder image zeichnen, bei diesem code?
hdc = GetWindowDC_(GetShellWindow_())
text$ = "Kacke nee "
SetTextColor_(hdc,#Cyan)
SetBkColor_(hdc,#Red)
TextOut_(hdc,0,0,text$,Len(text$))
ReleaseDC_(GetShellWindow_(),hdc)
vielen dank! mfg tomtom
Pure Basic 4.0
Re: desktop id /zeichnen
sollte wohl gehen .. das ist allerdings gdi-zeugs und damit windowsApi und damit kein direktes PB.
also z.B.
Du brauchst dazu etwas mehr Info was GDI angeht
z.B. http://www.henkessoft.de/C++/WinAPI/Win ... _7_GDI.htm
oder bei Microsoft oder bei google
aber schön ist anders . .durch die invalidate-geschichte wird es irgendwann flackern.
das vlc-demo (directX-schirmmalerei) da oben macht es irgendwie besser (und sehr viel aufwändiger)
WENN DU HIER IM BOARD NACH GDI SUCHEN WILLST DANN BEACHTE DASS DER SUCHBEGRIFF MEHR ALS 3 STELLEN HABEN MUSS
also z.B.
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)
BeginPath_(hdc) ;hier wird was vorbereitet
Rectangle_(hdc,px,py,px+3,py+3) ; kleines Rechteck
Arc_(hdc,px,py,px+20,py+20,0,10,0,90) ;ein kleiner Kreis
EndPath_(hdc)
StrokePath_(hdc); und hier wird dann richtig gemalt
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
Du brauchst dazu etwas mehr Info was GDI angeht
z.B. http://www.henkessoft.de/C++/WinAPI/Win ... _7_GDI.htm
oder bei Microsoft oder bei google

aber schön ist anders . .durch die invalidate-geschichte wird es irgendwann flackern.
das vlc-demo (directX-schirmmalerei) da oben macht es irgendwie besser (und sehr viel aufwändiger)
WENN DU HIER IM BOARD NACH GDI SUCHEN WILLST DANN BEACHTE DASS DER SUCHBEGRIFF MEHR ALS 3 STELLEN HABEN MUSS
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.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: desktop id /zeichnen
Für Vista und 7 kann man den Direct3D-Desktop-Modus nutzen. Commanline dafür konntebobobo hat geschrieben:Oder so .. mit dem VLC unter XP zumindest
vlc --video-wallpaper --qt-start-minimized --repeat "und hier das MatrixDingsbumsvideo rein"
ich aber keine finden.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
