![]() |
Checken welches Fenster im Vordergrund ist...
Hei,
ich suche eine Funktion die mir den Namen des Fensters, welches sich aktuell im Vordergrund befindet ausgibt. Diese müsste anschließend mit einer gegebenen Liste abgeglichen werden. MfG Shunk |
Re: Checken welches Fenster im Vordergrund ist...
![]() Lg |
Re: Checken welches Fenster im Vordergrund ist...
Hei,
danke erstmal, aber so richtig weiter komme ich noch immer nicht :) Was ist ein "Handle" und wie kann ich das in einen string o.ä. umwandeln?! |
Re: Checken welches Fenster im Vordergrund ist...
Nicht groß getestet:
Delphi-Quellcode:
function ActiveWindowTitle: string;
var Wnd: HWnd; begin Wnd := GetForegroundWindow; if Wnd <> 0 then begin SetLength(Result,Succ(GetWindowTextLength(Wnd))); GetWindowText(Wnd,@Result[1],Length(Result)); end; end; |
Re: Checken welches Fenster im Vordergrund ist...
Code:
PChar(Result) ... wirft keine Exception, wenn der Text mal '' (leer) ist
GetWindowText(Wnd, PChar(Result), Length(Result) [color=#ff0000][b]+ 1[/b][/color]);
+1 ... GetWindowTextLength gibt die StringLänge ohne abschlißendes #0 und GetWindowText möchte den Speicher inclusive #0 |
Re: Checken welches Fenster im Vordergrund ist...
Zitat:
|
Re: Checken welches Fenster im Vordergrund ist...
ups ... das Succ glatt übersehn :oops:
nja, das ist dann aber etwas falsch, an dieser Stelle ... es sei denn du entfernst das zusätzliche Zeichen wieder, nachdem der Text ausgelesen wurde. z.B.:
Delphi-Quellcode:
Wnd := GetForegroundWindow;
if Wnd <> 0 then begin SetLength(Result, Succ(GetWindowTextLength(Wnd))); SetLength(Result, GetWindowText(Wnd, PChar(Result), Length(Result))); end; |
Re: Checken welches Fenster im Vordergrund ist...
OK, das wäre die elegante Lösung, wie gesagt, schnell dahergeschrieben und vielleicht 20 Sekunden ausprobiert, dabei ist mir nichts aufgefallen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 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