Программирование на C++ глазами хакера


Дрожь в ногах - часть 2


После этого вызывается функция GetWindowRect. Этой функции передается в первом параметре идентификатор найденного окна, а она возвращает во втором параметре размеры этого окна в структуре RECT, описывающей прямоугольную область на экране с параметрами left, top, bottom, right.

После получения величины окна генерируется случайное число от 0 до 1 с помощью функции rand. После этого необходимо проверить, если сгенерированное число равно 0, то увеличиваем свойства top и left структуры rect на 3 пиксела, иначе эти значения уменьшаем.

Изменив значения переменных структуры, в которой хранились размеры найденного окна, перемещаем это окно с помощью функции MoveWindow. Эта функция имеет следующие параметры:

  • идентификатор окна, позицию которого надо изменить (h);
  • новая позиция левого края (rect.left);
  • новая позиция верхнего края (rect.top);
  • новая ширина (rect.right-rect.left);
  • новая высота (rect.bottom-rect.top).

Ну, и напоследок, результату работы функции присваиваем значение TRUE, чтобы поиск продолжился.

Получается, что если запустить программу, то вы увидите дрожание всех запущенных окон. Программа будет перебирать все окна и случайным образом изменять их положение. Попробуйте запустить пример и посмотреть этот эффект в действии, он потрясающий, т. е. сотрясающий.

Примечание
Исходный код этого примера вы можете найти на компакт - диске в каталоге \Demo\Chapter3\Vibration.


 




Начало  Назад  Вперед



Книжный магазин