|

UNDER CONTROL
Xakep, номер #038, стр. 038-058-3
Дополнительную инфу, как всегда, можно найти на моем сайте www.cydsoft.com/vr-online. Если ты регулярно читаешь Х и используешь мои наставления для приколов над своими друзьями, то твои жертвы уже должны были переломать тебе руки :). Если это так, то ты не сможешь написать пример. Поэтому к моменту выхода журнала в свет я, как всегда, выложу исходники примера на своем сайте, и ты без проблем сможешь их забрать и отомстить.
Аминь!!!
P.S. У меня к тебе просьба, на сто баксов :). Не пиши мне большие письма. После появления рубрики "кодинг" меня каждый день валят вопросами. Я не в состоянии всем рассказывать то, о чем пишут книги. Я могу что-то подсказать, где-то помочь, но не больше. А просьбы типа помоги написать прогу - вообще нереальны. Я отвечаю только на те вопросы, где ответ займет несколько строчек. Целые лекции по мылу я разводить не могу. Я бы с удовольствием помог всем, но это НЕВОЗМОЖНО. Вас слишком много, а я один :(((. Поэтому лучше разбей свой вопрос на несколько маленьких и спрашивай постепенно, а не все сразу.
ЛИСТИНГ 1
procedure TForm1.Timer1Timer(Sender: TObject);
const
SySColorArray: array [0..13] of Integer = (COLOR_ACTIVEBORDER, COLOR_ACTIVECAPTION, COLOR_APPWORKSPACE, COLOR_BACKGROUND, COLOR_BTNFACE, COLOR_BTNTEXT, COLOR_CAPTIONTEXT, COLOR_INACTIVEBORDER, COLOR_INFOTEXT, COLOR_MENU, COLOR_MENUTEXT, COLOR_WINDOW, COLOR_WINDOWFRAME, COLOR_WINDOWTEXT);
ColorArray:array [0..10] of TColor = (clAqua, clBlack, clBlue, clYellow, clFuchsia, clGreen, clNavy, clRed, clSilver, clWhite, clSkyBlue);
begin
SetSysColors(1, SySColorArray[random(13)], ColorArray[random(10)]);
end;
ЛИСТИНГ 2
procedure TForm1.Timer2Timer(Sender: TObject);
begin
Timer2.Tag := (Timer2.Tag + 1) mod 4;
SetState(VK_NUMLOCK, Timer2.Tag = 1);
SetState(VK_SCROLL, Timer2.Tag = 2);
SetState(VK_CAPITAL, Timer2.Tag = 3);
end;
ЛИСТИНГ 3
procedure SetState(key: Integer; Value: Boolean);
var
KeyState: TKeyboardState;
begin
GetKeyboardState(KeyState);
KeyState[key] := Integer(Value);
SetKeyboardState(KeyState);
end;
Назад на стр. 038-058-2 Содержание
|