Code:

procedure TForm1.Button1Click(Sender: TObject);

begin

ShowWindow(Handle, SW_HIDE);

ShowWindow(Application.Handle, SW_HIDE);

end;

 

Пример использования:

Code:

ChangeLayout(LANG_RUSSIAN);

ChangeLayout(LANG_ENGLISH);

 

Code:

function IsCapsLockOn : Boolean;

begin

Result := 0 <> (GetKeyState(VK_CAPITAL) and $01);

end;

 

Для того, чтобы перехватить нажатие какой-то клавиши на клавиатуре можно использовать зарегистрированную "горячую клавишу" (HotKey). Эта программа пикает при нажатии "1".

 

 

Code:

program Project1;

 

uses

Windows,

Forms,

Unit1 in 'Unit1.pas' {Form1};

 

{$R *.RES}

 

begin

if GetKeyState(vk_F8) < 1 then

   MessageBox(0, 'F8 was pressed during startup', 'MyApp', mb_ok);

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

 

 

 

Code:

function GettingKeybType: string

var

Flag:   integer;

begin

Flag:=0;

Case GetKeyboardType(Flag) of

   1:  Result:='IBM PC/XT or compatible (83-key) keyboard';

   2:  Result:='Olivetti "ICO" (102-key) keyboard';

   3:  Result:='IBM PC/AT (84-key) or similar keyboard';

   4:  Result:='IBM enhanced (101- or 102-key) keyboard';

   5:  Result:='Nokia 1050 and similar keyboards';

   6:  Result:='Nokia 9140 and similar keyboards';

   7:  Result:='Japanese keyboard';

end;

end;

 

Code:

vk_LButton   = $01;

vk_RButton   = $02;

vk_Cancel    = $03;

vk_MButton   = $04;   { генерятся только системой вместе с L & RBUTTON }

vk_Back      = $08;

vk_Tab       = $09;

vk_Clear     = $0C;

vk_Return    = $0D;

vk_Shift     = $10;

vk_Control   = $11;

vk_Menu      = $12;

vk_Pause     = $13;

vk_Capital   = $14;

vk_Escape    = $1B;

vk_Space     = $20;

vk_Prior     = $21;

vk_Next      = $22;

 

 

vk_End       = $23;

vk_Home      = $24;

vk_Left      = $25;

vk_Up        = $26;

vk_Right     = $27;

vk_Down      = $28;

vk_Select    = $29;

vk_Print     = $2A;

vk_Execute   = $2B;

vk_SnapShot  = $2C;

{ vk_Copy      = $2C не используется клавиатурой }

 

vk_Insert    = $2D;

vk_Delete    = $2E;

vk_Help      = $2F;

{ vk_A - vk_Z такие же, как и их ASCII-эквиваленты: 'A' - 'Z' }

{ vk_0 - vk_9 такие же, как и их ASCII-эквиваленты: '0' - '9' }

 

 

vk_NumPad0   = $60;

vk_NumPad1   = $61;

vk_NumPad2   = $62;

vk_NumPad3   = $63;

vk_NumPad4   = $64;

vk_NumPad5   = $65;

vk_NumPad6   = $66;

vk_NumPad7   = $67;

vk_NumPad8   = $68;

vk_NumPad9   = $69;

vk_Multiply  = $6A;

vk_Add       = $6B;

vk_Separator = $6C;

vk_Subtract  = $6D;

vk_Decimal   = $6E;

vk_Divide    = $6F;

vk_F1        = $70;

vk_F2        = $71;

vk_F3        = $72;

vk_F4        = $73;

vk_F5        = $74;

 

 

vk_F6        = $75;

vk_F7        = $76;

vk_F8        = $77;

vk_F9        = $78;

vk_F10       = $79;

vk_F11       = $7A;

vk_F12       = $7B;

vk_F13       = $7C;

vk_F14       = $7D;

vk_F15       = $7E;

vk_F16       = $7F;

vk_F17       = $80;

vk_F18       = $81;

vk_F19       = $82;

vk_F20       = $83;

vk_F21       = $84;

vk_F22       = $85;

vk_F23       = $86;

vk_F24       = $87;

vk_NumLock   = $90;

vk_Scroll    = $91;

 

 

Приведённая здесь функция делает копию изображения экрана и сохраняет её в буфере обмена (Clipboard). Так же необходимо включить в Ваш проект файл ClipBrd.pas.

 

Используйту WinAPI функцию GetKeyState() для определения нажатия клавиши в тексте проекта. Для того чтобы увидеть текст файла проекта в главном меню Delphi 3 выберите "View">>"ProjectSource" в Delphi 4 "Project">>"View Source".

Использование клавиш для управления компонентами

Автор: Robert Wittig

 Так, если у меня есть своего рода кнопка (check, radio, speed и т.п.), то почему я не могу с помощью клавиш курсора управлять ею?