Ломы ломать? Пора бабки загребать!

Xakep Online -> Журнал, номер #017, стр. 017-060-2

Учиться или пучиться? Вот вопрос.

Но все это была присказка. А сказочная жизнь только начинается! :-) Прааально - учиться писать фейксерфы никогда не поздно, как завещал нам дедушка Лёнин. Лёнин дедушка - в смысле, Лени Голубкова, а не Дж.Леннон и не В.И.Ленин. :-) Я взял в качестве компилятора Delphi 3.0 - его проще всего найти и им проще всего пользоваться, практически ничего не зная о программировании (ну, мы-то не такие, мы - ого-го!). Ж-) Что понадобится? Пара функций и таймер. Таймер нужно набросить на форму и установить ему время срабатывания, скажем, каждые 5 секунд (для этого поставить у таймера Interval, равный 5000). Немного о функциях. В Delphi есть функция установки курсора мыши в произвольную точку экрана:

BOOL SetCursorPos(

int X, // горизонтальная координата

int Y // вертикальная координата

);

Таким образом можно, например, прикалываться над знакомыми - подкинуть им незаметно программку, которую будет не видно и которая будет дергать мышку невпопад. Хохму обещаю - правда, если не жалко нервов этих знакомых. Некоторые в истерику очень быстро впадают от того, что не могут попасть по кнопке "Пуск" с десяти раз. :-))) Следующая функция уже прямо из WinAPI. Она и сложнее, и мощнее.

VOID mouse_event(

DWORD dwFlags, // флаги, показывающие, что именно делать

DWORD dx, // горизонтальная координата или ее смещение

DWORD dy, // вертикальная координата или ее смещение

DWORD cButtons, // не используется, должно равняться 0

DWORD dwExtraInfo // немного дополнительных параметров для 32-битных прог. Тоже ставить в 0.

);

В зависимости от флагов, нужно устанавливать параметры dx и dy. Вот описание флагов:

- MOUSEEVENTF_ABSOLUTE

Параметры dx и dy задают точные координаты точки на экране, в которую нужно переместить курсор мыши. Лучше не задавать координаты больше, чем разрешение экрана. :-)

- MOUSEEVENTF_MOVE

В этом случае dx и dy задают смещение в пикселях точки от текущих координат, куда следует переместить курсор.

- MOUSEEVENTF_LEFTDOWN, MOUSEEVENTF_LEFTUP, MOUSEEVENTF_RIGHTDOWN, MOUSEEVENTF_RIGHTUP, MOUSEEVENTF_MIDDLEDOWN, MOUSEEVENTF_MIDDLEUP

Одновременно с перемещением можно еще делать так, будто пользователь мышкой кликнул. Понятно, что MOUSEEVENTF_(НАЗВАНИЕКНОПКИ)DOWN - это кнопку надавить, а то же самое, только _UP - отпустить. Параметры cButtons и dwExtraInfo нужно (так, на всякий случай) нулями забить. Мало ли чего программисты дяди Билли придумают. (-:

Назад на стр. 017-060-1  Содержание  Вперед на стр. 017-060-3

ttfb: 4.0168762207031 ms