![]() |
Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
Hi
Ich möchte nach dem Verbergen (Hide) von meinem Programm das direkt liegende Fenster (fremde Anwendung) aktiv machen (den Fokus setzen) wie kann ich das machen ? Das Problem ich weiß nicht, wie das Windows, das direkt unter mein Programm heißt ! |
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
ActivateWindow oder SetForegroundWindow?
Schon mal gegoogelt oder gesucht? |
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
Ich möchte aber das Fremde Fenster nur den Fokus geben und nicht nach vorne über meinem Programm verschieben
|
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
Hi,
hast du nicht oben gesagt, dass dein Programm eh nicht mehr da ist? LG, Frederic |
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
Macht Windows das nicht automatisch wenn ich mein Prog hide mache, das es das letzte Fenster(Prog) wieder aktiv setzt? Vorrausgesetzt man hat nich x Fenster(Progs) offen und will nun unbedingt das 1. von x haben :wink:
Gruss alfold |
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
Außerdem würde es den Anwender wohl verwirren, wenn das Fenster mit dem Eingabefokus nicht im Vordergrund ist.
|
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
Zitat:
|
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
SetFocus
|
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
Alles was ich nun benötige ist nicht anderes als den Namen von dem Window, das direkt unter meinem Programm liegt, wissen, damit ich den Fokus drauf setzen kann
Das ist alles . |
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
und wenn es mehrere sind? :wink:
Bei einem, hab ich oben schon geschrieben, macht das Windows selbst! Bei vielen muss ich wissen, welches ich davon nach vorn bringen will! Gruss alfold |
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
also ich würde da nicht an dem Mechanismus von Windows rumfuschen. Der Benutzer ist an den Mechanismus von Windows gewöhnt und würde wohl eher irritiert reagieren, wenn sich sein Windows auf Grund deines Programms auf einmal anders verhält -- wenn er überhaupt herausfindet, dass es an deinem Programm liegt. Lass es so wie es ist und überlasse es einfach Windows.
|
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
wenn mehrere windows gibt, dann kann ich zum Beispiel einen Timer setzen der ständig nach dem Namen von dem aktiven Windows ausliest
Und so kann ich wissen, wer zuerst aktiv war :-D Wenn ich folgendes mache
Delphi-Quellcode:
wie kann ich den Namen filtern ?
...
hwnd:=GetForeGroundWindow; Caption:= Oder brauche ich überhaupt den Namen zu wissen ? Einfach hwnd ständig ersetzen (aktualisieren) ? |
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
Zitat:
|
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
Zitat:
SetForeGroundWindow.. Aber irgendwie ist dein vorhaben sehr subjekt. ;) gruss |
AW: Wie kann ich das Fenster (Window) hinter mein Programm aktiv?
Zitat:
Oder meinst Du was anderes ? Hier ist der Code:
Delphi-Quellcode:
Der Code überprüft ob ein Fenster auf Desktop gibt oder nicht. Und wenn nicht, dann nehmt den Desktop als das aktive Fenster
procedure TForm1.Timer1Timer(Sender: TObject);
var hwnd: THandle; w,h : integer; DC : HDC; hWin : Cardinal; r : TRect; sDC: Integer; IconInfo: TIconInfo; activeWindow: bool; begin sDC := GetDC(0); if activeWindow then begin hWin := GetForegroundWindow; sdc := GetWindowDC(hWin) ; GetWindowRect(hWin,r) ; w := r.Right - r.Left; h := r.Bottom - r.Top; chwnd:=GetForegroundWindow; end else begin hWin := GetDesktopWindow; sdc := GetDC(hWin) ; w := GetDeviceCaps (sDC, HORZRES) ; h := GetDeviceCaps (sDC, VERTRES) ; end; caption:=IntToStr(w) +', ' + IntToStr(h); end; Ich kann zwar das aktive Fenster (aber nicht von meinem Programm) speichern? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 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