Okay, habs mal so gelöst ...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| function TfTicker.GetDesktopClient(): TRect; var lHelp: TRect; lHandle: HWND; begin lHandle:=GetDesktopWindow(); Windows.GetWindowRect(lHandle,Result);
lHandle:=FindWindow('Shell_TrayWnd', ''); if lHandle<>0 then begin Windows.GetWindowRect(lHandle,lHelp); if Result.Right<lHelp.Right then Result.Left:=lHelp.Right-1; if Result.Bottom<lHelp.Bottom then Result.Top:=lHelp.Bottom-1; if lHelp.Left>Result.Right then Result.Right:=lHelp.Left+1; if lHelp.Top>Result.Top then Result.Bottom:=lHelp.Top+1; end;
end; |
Zufrieden bin ich zwar noch lange nicht damit, aber okay, muß mal reichen.
Ich überlege gerade, ob ich nicht alle Windows enumeriere und dann jene, welche AlwaysTop sind, ebenfalls einbeziehe. Aber okay, später dann mal *g*.
Moderiert von
Peter Lustig: Code- durch Delphi-Tags ersetzt
Wer früher stirbt, ist länger tot.