title image


Smiley PSDK = 'Lexikon' für Programmierer von Microsoft - in englisch..
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm



Das sollte das aktuellste im Moment sein. Es gibt auch spezielle für XP. Einfach googeln oder durch die Seiten bei MS durchhangeln ;-)



Das PSDK gibt es auch online. Aber ich hab den Link nicht mehr dahin.



Aber es ist wirklich einfach:



var

topmost:boolean;

deskwnd:hwnd;

t:trect;

begin

deskwnd:=getforegroundwindow;

if deskwnd<=0then

exit;

//kein fenster im vordergrund->abbrechen

topmost:=(getwindowlong(deskwnd,GWL_EXSTYLE)and WS_EX_TOPMOST)0;

//nun weiss man, ob das aktive Fenster 'immer oben ist'

getwindowrect(deskwnd,t);

//fenstermaße sind gespeichtert in t

setwindowpos(deskwnd,HWND_TOPMOST,t.left,t.top,t.right-t.left,t.bottom-t.top,SWP_SHOWWINDOW);

//neues fenster wird 'immer oben' gesetzt

end;



Zur Not kann man deskwnd zwischenspichern (handle) und später wieder in den ursprungszustand setzen:

if not TopMost then

//TOPMOST für Aktuelles Fenster entfernen

setwindowpos(deskwnd,HWND_NOTOPMOST,t.Left,t.Top,t.Right-t.left,t.Bottom-t.top,SWP_SHOWWINDOW);



Das Fenster, welches in den Vordergrund soll ist hier in meinem Fall auch deskwnd.





Das ganze habe ich mal in meinem Screenshotupper gemacht - siehe meine Signatur, in der generalunit.pas steht alles unter der function ScreenShotActiveWindow.



Viel Spass mit den Codestückchen ;-)

Gruß
~Mathias
..   ————————————————————————————————————————
..
..   Private Seite: http://www.nogad.de
..
..   ————————————————————————————————————————
..
..   Pension Fiege - Inhaber Monika Fiege
..   Kranichfelder Straße 68
..   99097 Erfurt
..
..   Tel: +49 361 41 38 39
..   Fax: +49 361 42 150 87
..
..   www.Pension-Fiege.de
..
..   ————————————————————————————————————————


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: