Все шутки будут описаны в обработчике события таймера OnTimer.
Добавьте в этот обработчик следующий код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
JokeNum:= Random(10) + 1; //Выбираем случайный номер шутки
case JokeNum of //выполняем шутку
1: begin
//код первой шутки
end;
2:
begin
//код второй шутки
end;
3: begin
//код третьей шутки
end;
4: begin
//код четвертой шутки
end;
5: begin
//код пятой шутки
end;
6: begin
//код шестой шутки
end;
7: begin
//код седьмой шутки
end;
8: begin
//код восьмой шутки
end;
9: begin
//код девятой шутки
end;
10: begin
//код десятой шутки
end;
end;
end;
Это шаблон для генератора шуток. Здесь выбирается случайное число от 1 до 10, которое будет определять, какую из шуток выполнить на этой минуте. Далее будут представлены фрагменты кода, выполняющие определенные действия, которые следует вставлять вместо комментария в соответствующую ветку конструкции case.
Шутка №1 —
ограничение диапазона движения мыши
Итак, первая шутка заключается в наложении ограничения на диапазон движения мыши:
сurs:= Rect(0, 0, Screen.Width div 2, Screen.Height);
ClipCursor(@curs);
После этого указатель мыши можно будет перемещать только в одной половине экрана.
Шутка №2 — отключение кнопок мыши
Вторая шутка будет более радикальной: используя перехваты функций, отключим кнопки мыши — ни левая, ни правая, ни средняя кнопка не будут выполнять никаких действий. Для этого напишите в разделе implementation следующую функцию:
function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall;
Здесь вызывается та же функция, только вместо параметра WH_MOUSE ей передается WH_KEYBOARD. После этого клавиши на клавиатуре перестанут функционировать.
Шутка №4 — очистка буфера обмена
Четвертая шутка будет очищать буфер обмена и помещать туда собственный текст. Ее код:
ClipBoard.Open;//открываем буфер обмена
ClipBoard.Clear;//очищаем буфер обмена
//Помещаем в буфер обмена свой текст
Clipboard.asText:= 'Буфер обмена временно не работает!';
ClipBoard.Close; //закрываем буфер обмена
Для работы с буфером обмена необходимо добавить в раздел use ссылку на модуль clipbrd.