[Erledigt]Desktop Hintergrund DC ermitteln
- tft
- Beiträge: 605
- Registriert: 08.09.2004 20:18
- Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
- Wohnort: Dachsen
- Kontaktdaten:
[Erledigt]Desktop Hintergrund DC ermitteln
Hallo,
ich möchte den Handler, beziehungsweise die Adresse im Speicher wissen, wo der Aktuelle Desktophintergrund zu finden ist.
Ich möchte den Desktop Hintergrund als Zeichenfläche verwenden. Jemand ne Idee?
Gruss TFT
ich möchte den Handler, beziehungsweise die Adresse im Speicher wissen, wo der Aktuelle Desktophintergrund zu finden ist.
Ich möchte den Desktop Hintergrund als Zeichenfläche verwenden. Jemand ne Idee?
Gruss TFT
Zuletzt geändert von tft am 05.04.2021 13:24, insgesamt 1-mal geändert.
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Re: Desktop Hintergrund DC ermitteln
Früher war das Window-Handle des Desktops einfach 0. Da konntest du mit GetDC_(0) einfach den Device Context des Desktops bekommen. Aber das ist alles, was ich noch weiß. Ich kann mir vorstellen, dass das unter Windows 10 heutzutage nicht mehr so einfach ist.
Re: Desktop Hintergrund DC ermitteln
Wird natürlich mit dem nächsten Ausgabe überschrieben
Code: Alles auswählen
;-TOP
Define hDesktop, hDesktopDC
hDesktop = GetDesktopWindow_()
If hDesktop
hDesktopDC = GetDC_(hDesktop)
If hDesktopDC
TextOut_(hDesktopDC, 1000, 40, "Hello, Windows!", 15)
InvalidateRect_(hDesktop, 0, 0)
EndIf
EndIf
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Desktop Hintergrund DC ermitteln
Interessant.
Dachte er malt auf den Hintergrund, aber er mal einfach auf den Desktop über(!) die Symbole
Dachte er malt auf den Hintergrund, aber er mal einfach auf den Desktop über(!) die Symbole
Signatur und so
- tft
- Beiträge: 605
- Registriert: 08.09.2004 20:18
- Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
- Wohnort: Dachsen
- Kontaktdaten:
Re: Desktop Hintergrund DC ermitteln
Ich brauche den Zeiger auf die Adresse des Hintergrundbildes.
Dort kann ich dann einen eigenen eintragen.
Ich kann jetzt das Bild Verändern. Und muss dann einen Refresh befehl senden, damit die Anzeige erneuert wird.
So die Theory ......
Dort kann ich dann einen eigenen eintragen.
Ich kann jetzt das Bild Verändern. Und muss dann einen Refresh befehl senden, damit die Anzeige erneuert wird.
So die Theory ......
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
Re: Desktop Hintergrund DC ermitteln
Schon versucht das SysListView32 bzw. WorkerW Fenster zu bekommen?tft hat geschrieben:Ich brauche den Zeiger auf die Adresse des Hintergrundbildes.
...
- tft
- Beiträge: 605
- Registriert: 08.09.2004 20:18
- Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
- Wohnort: Dachsen
- Kontaktdaten:
Re: Desktop Hintergrund DC ermitteln
äää nein ....
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
-
- Beiträge: 6267
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: Desktop Hintergrund DC ermitteln
Geht das aus dem CodeArchiv nicht mehr?
http://www.purearea.net/pb/CodeArchiv/W ... Painter.pb
Oder war das zum zeichnen darüber? (Kann es grad nicht testen, kein Windows hier)
http://www.purearea.net/pb/CodeArchiv/W ... Painter.pb
Oder war das zum zeichnen darüber? (Kann es grad nicht testen, kein Windows hier)
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Re: Desktop Hintergrund DC ermitteln
Hallo!
Bekommt das jemand zum laufen?
(Das hinter die Icons gezeichnet wird)
Bekommt das jemand zum laufen?
(Das hinter die Icons gezeichnet wird)
Code: Alles auswählen
Procedure FindDTWindow()
Protected.i hWnd, hwndWorkW, hView, h, dResult
hwnd = FindWindow_(@"Progman"), @"Program Manager"))
SendMessageTimeout_(hWnd, $052C, 0, #Null, #SMTO_NORMAL, 1000, @dResult)
hwndWorkW = #Null
Repeat
hwndWorkW = FindWindowEx_(#Null, hwndWorkW, @"WorkerW", #Null);
If hwndWorkW = #Null
Continue
EndIf
hView = FindWindowEx_(hwndWorkW, #Null, @"SHELLDLL_DefView", #Null);
If hView = #Null
Continue
EndIf
h = FindWindowEx_(#Null, hwndWorkW, @"WorkerW", #Null)
While h <> #Null
SendMessage_(h, #WM_CLOSE, 0, 0)
h = FindWindowEx_(#Null, hwndWorkW, @"WorkerW", #Null);
Wend
Break
Until #True
ProcedureReturn hWnd ;Auch schon verschiedene "WinSpy" - Handles durchprobiert! (unter Win10)
EndProcedure
Global Ecki.rect
Ecki\bottom = 10
Ecki\left = 10
Ecki\right = 110
Ecki\top = 110
Global dc = GetDCEx_(FindDTWindow(), #Null, $403)
Debug dc
If dc <> 0
FillRect_(dc, Ecki, CreateSolidBrush_(RGB(255,0,0)))
InvalidateRect_(dc, Ecki, 0)
ReleaseDC_(FindDTWindow(), dc)
EndIf
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat