[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Nionov  
Форум » Программирование » Pascal/Delphi » [Delphi] Дрожание окон
[Delphi] Дрожание окон
RainbowДата: Понедельник, 17.06.2019, 23:36 | Сообщение # 1

-= Повелитель кодеров =-
Сообщений: 146
Награды: 0
Репутация: 4279
Статус:
Здесь будет программа, которая заставляет изменять размеры всех окон на случайные, и из-за этого создаётся эффект дрожания окна.

Код
program Fun1; //Имя проекта
uses windows, Messages; //необходимые модули

function EnumWindowsWnd(h: hwnd): BOOL; stdcall; //необходимая функция
var 
rect:TRect;
index:Integer;
begin
if not IsWindowVisible(h) then
begin
Result:=true;
exit; end; 

//Генерирую случайное число до 2 (включительно)
index:=random(2);
//Получаю размеры найденного окна
GetWindowRect(h,rect);

  if index=0 then  //Если размеры окна 0, то увеличиваю на 4...
  begin
   rect.Left:=rect.Left+4;
   rect.Top:=rect.Top+4;
  end
else   //Иначе уменьшаю на 4...
  begin
   rect.Top:=rect.Top-4;
   rect.Left:=rect.Left-4;
  end;
MoveWindow(h,rect.Left,rect.Top,rect.Right-rect.Left,rect.Bottom-rect.Top,true);
Result:=true;
end;

//А теперь исполняемая часть

var
h:THandle;
begin
//Запускаю бесконечный цикл
while true do
  begin
   //Запускаю перечисление всех окон
   EnumWindows(@EnumWindowsWnd,0);

   //Задержка 70 мс.
   Sleep(70); 
  end;
end. // THE END


Это чудо весит 27 кб, если постараться, можно вдвое уменьшить, а так-же вшить другу/коллеге в флешку с автозапуском :D
 
Форум » Программирование » Pascal/Delphi » [Delphi] Дрожание окон
  • Страница 1 из 1
  • 1
Поиск: