Jak rysować po pulpicie
Adam Boduch
Po pulpicie można rysować jak w zwykłym Canvasie. Wystarczy tylko pobrać uchwyt pulpitu:
Canvas.Handle:=GetWindowDC(GetDesktopWindow);
//tutaj używamy funkcji Canvas'a do rysowania
// rysujemy np. kwadrat
Canvas.Rectangle(20, 20, 220, 220);
PiXel: pulpit mozna wyczyścić w ten sposób:
procedure TForm1.Button2Click(Sender: TObject);
var p: PRect;
begin
New(p);
p.Left := 20; p.Right := 220;
p.Top := 20; p.Bottom := 220;
RedrawWindow(GetDesktopWindow, p, 0, RDW_ERASE or RDW_INVALIDATE or RDW_FRAME or RDW_ALLCHILDREN);
Dispose(p);
end;
Sanjuro: wszystko działa jak należy, tylko jak wyczyścic canvas pulpitu?
Do rysowania bezposrednio po pulpicie trzeba wyciagnac okno znajdujace sie najnizej (pulpit) ponizej jak to zrobic (dziala w Win9x na 100%, w WinXP z tez wg wstepnych testow):
nastepnie podobnie jak w przykladzie powyzej tyle ze korzystamy z zrobionej funkcji do uchwycenia okna pulpitu/tapety np:
To już musisz wytżasnąć plik Wallpaper.bmp i w nim rysować a potem pulicik odświężyć
no dobrze, wypowiedzi tego typu jest PEŁNO na necie, ale tutaj tak naprawdę nie rysujemy po pulpicie tylko po ekranie, jak w takim razie rysować po pulpicie (czyli pod tym "czyś" co jest pod ikonkami)