Kommt Dir das nicht selber ein bisschen "komisch" vor?
Stimmt, das Problem das letzte aktive Fenster ist immer mein Programm-Fenster
Oder meinst Du was anderes ?
Hier ist der Code:
Delphi-Quellcode:
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;
Der Code überprüft ob ein Fenster auf Desktop gibt oder nicht. Und wenn nicht, dann nehmt den Desktop als das aktive Fenster
Ich kann zwar das aktive Fenster (aber nicht von meinem Programm) speichern?