Entwickler-Ecke

Windows API - Handle des letzten aktiven Fensters bekommen


lemming - Do 01.07.04 09:39
Titel: Handle des letzten aktiven Fensters bekommen
Wenn mein Programm mit OnShow wieder aufgerufen wird, möchte ich gerne wissen, welches Programm zuletzt aktiv war. Wie bekomme ich dessen Handle heraus?


fuser - Do 01.07.04 09:49

Hallo lemming
Z.B. mit einem Timer und GetForegroundWindow bzw.
GetWindowThreadProcessId(GetForegroundWindow,0);


lemming - Do 01.07.04 09:54

Gibt GetWindowThreadProcessId einen Handle zurück?


Quelltext
1:
2:
3:
4:
5:
6:
7:
var
 Test: HWND;
begin
  Test := GetWindowThreadProcessId(GetForegroundWindow,nil);
  Image1.Picture.Bitmap := nil;
  FormularScreenshot(Image1.Picture.Bitmap, Test);
end;


Bei dem Code kommt eine Exception. FormularScreenshot setzt als zweite Variable HWND vorraus.


lemming - Do 01.07.04 09:55

Ha, ich habs bereits. GetForegroundWindow gibt ja selber schon eine HWND zurück :oops:
Danke fuser.