Mały Głód
Mały Głód
Autor: PotwoorOto kod który podziurawi wszystkie okna, zasada działania podobna do WinConvultor
function Hungry(WHandle: HWND; LParM: LParam): Boolean;StdCall;Export; var a,b:HRGN; x,y:integer; r:TRect; s:integer; begin Result:=true; // potrzebne by zaliczyć więcej okienek if IsWindowVisible(WHandle) then // jeśli okno jest widoczne to... przyśpiesza działanie omijając niewidoczne okna begin Windows.GetWindowRect(WHandle,r); // rozmiar okna x:=Random(r.Right-r.Left); // losujemy pozycję dziury y:=Random(r.Bottom-r.Top); // losujemy pozycję dziury a:=Windows.CreateRectRgn(0,0,r.Right-r.Left,r.Bottom-r.Top); // tworzymy region odpowiadający oknu if LParM=1 then // jeśli LParM = 1 to zachowujemy poprzednie dziurki pobierając bieżący region okna Windows.GetWindowRgn(WHandle,a); // bez wcześniejszego stworzenia regionu nie działa ta funkcja ( zwraca 0 czyli ERROR ) s:=10+Random(30); // losujemy rozmiar dziury b:=Windows.CreateEllipticRgn(x,y,x+s,y+s); // tworzymy region w kształcie dziurki Windows.CombineRgn(b,a,b,rgn_diff); // do regiony b przypisujemy region a bez regionu b ( wycinamy dziurkę ) Windows.SetWindowRgn(WHandle,b,true); // ustawiamy otrzymany region end; end;
wywołanie dla jednej dziurki na okno:
Windows.EnumWindows(@Hungry,0);
wywołanie dla wielu dziurek na okno:
Windows.EnumWindows(@Hungry,1);
wstawić w pętle i Mały Głód zjada nam okienka
OSTRZEŻENIE - zmiany w powyższym kodzie mogą doprowadzić do niechcianych lecz czasem ciekawych efektów
podczas pisania uzyskałem następujące efekty →
straciłem Menu Start
straciłem około 50% menu podręcznych
zamiast uzyskania dziury parę okien uzyskało kształt dziury
4 komentarze
kurde piękne to :D:D:D nie zle
Flawlessss Zresetuj explorera
CreateRectRgn, podajemy dane z GetWindowRect i przypisujemy uzyskany region
oczywiście okna które miały oryginalnie ciekawe kształty uzyskają kształt wybitnie kanciasty
dzięki zrobiłem kawał kumplowi xd