Gotowce » Żarty w Delphi

Win Convultor

Na koniec zostawiłem naprawdę niezłą jazdę, THE BEST OF 2004 (bo napisany w 2004 roku). Jak nazwa wskazuje, ma to spowodować konwulsje u windy. A oto kod:
function EnumWindowsProc(WHandle: HWND; LParM: LParam): Boolean; stdcall; export;
var R:TRect; 
    X, Y, W, H: Integer;
begin
 Result := True;
 if IsWindowVisible(wHandle) then
   begin
     GetWindowRect(wHandle,R);
     X := R.Left;
     Y := R.Top;
     W := R.Right - R.Left;
     H := R.Bottom - R.Top;
     if b 
      then SetWindowPos(wHandle,HWND_TOP, X + Random(5)*2, Y + Random(2)*2, W, H, SWP_NOACTIVATE) 
      else SetWindowPos(wHandle,HWND_TOP, X - Random(5)*2, Y - Random(2)*2, W, H, SWP_NOACTIVATE);
   end;
end;

Dodajemy zmienną B typu Boolean. Natomiast w OnCreate od Form1 piszemy:
 Application.ShowMainForm := False;
 B := False;
 Randomize;
 repeat
   EnumWindows(@enumWindowsProc, 0);
   B := not B;
   Windows.Beep(100, 6);
 until false;

Efekt: wszystkie widoczne okna będą się trząść. Zmienna B cyklicznie negowana w pętli zapewnia zmienny kierunek drgań.

Autor: fatalbomb