![]() |
Hintergrundfarbe einer anderen Anwendung
Hallo zusammen
Wie kann ich die Hintergrundfarbe eines Fensters einer anderen Anwendung ermitteln? Das muss doch irgenswie über GetPixelColor gehen :gruebel: Aber da bekomme ich immer nur die Pixelfarbe vom Desktop.... Hier mal ein Beispielcode:
Delphi-Quellcode:
**Print Vorbereitung Digitalaufträge ist das Fenster von dem ich die Hintergrundfarbe haben möchte.procedure TForm1.FormCreate(Sender: TObject); var hWnd: DWORD; begin hWnd := FindWindow('TForm1','Print Vorbereitung Digitalaufträge'); if hWnd <> 0 then GetColor else Label1.Color:= clblack end; procedure TForm1.GetColor; var dc: hDc; hWnd: DWORD; begin dc := GetDC(0); Label1.Color :=GetPixel(dc, 30, 30); ReleaseDC(0, dc); end; procedure TForm1.Timer1Timer(Sender: TObject); var hWnd: DWORD; begin hWnd := FindWindow('TForm1','Print Vorbereitung Digitalaufträge'); if hWnd <> 0 then GetColor else Label1.Color:= clblack end; end. Diese Hintergrundfarbe soll die Label1.color in meinem Formular sein. Gruß Baba |
Re: Hintergrundfarbe einer anderen Anwendung
du musst erst mit EnumWindows dein Fenster suchen und anstelle des getDC(0) getDC(zielhandle) machen. threads über EnumWindows gibts hier im Forum ja zu Hauf.
also: EnumWindows machen, dann mit GetWindowText in der EnumWindowProc den Fenstertitel prüfen oder vielleicht mal FindWindow ausprobieren... und dann mit diesem Handle den dc holen |
Re: Hintergrundfarbe einer anderen Anwendung
Delphi-Quellcode:
procedure TForm1.GetColor(wnd:HWND);
var dc: hDc; begin dc := GetDC(wnd); Label1.Color :=GetPixel(dc, 30, 30); ReleaseDC(wnd, dc); end; procedure TForm1.Timer1Timer(Sender: TObject); var hnd: DWORD; begin hnd := FindWindow('TForm1','Print Vorbereitung Digitalaufträge'); if hnd <> 0 then GetColor(hnd); else Label1.Color:= clblack end; |
Re: Hintergrundfarbe einer anderen Anwendung
Danke euch! Werde es mal kurz testen.
Gruß Baba :thuimb: |
Re: Hintergrundfarbe einer anderen Anwendung
Hey Hboy
Hast du den Code getestet :gruebel: Funktionier bei mir irgendwie nicht! Gruß Baba |
Re: Hintergrundfarbe einer anderen Anwendung
Alles klar..... :thuimb:
Habe den Fehler gefunden: Zitat:
Delphi-Quellcode:
Gruß und Danke
if hnd <> 0 then GetColor(hnd)
Baba |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz