Работа с железом
Code: |
procedure TForm1.Button1Click(Sender: TObject);//На русский var Layout: array[0.. KL_NAMELENGTH] of char; begin LoadKeyboardLayout( StrCopy(Layout,'00000419'),KLF_ACTIVATE); end;
procedure TForm1.Button2Click(Sender: TObject);//На английский var Layout: array[0.. KL_NAMELENGTH] of char; begin LoadKeyboardLayout(StrCopy(Layout,'00000409'),KLF_ACTIVATE); end; |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
Code: |
VAR KS: TKeyboardState; begin GetKeyboardState(KS); KS[020] := KS[020] XOR 1; //Caps Lock KS[144] := KS[144] XOR 1; //Num Lock KS[145] := KS[145] XOR 1; //Scroll Lock SetKeyboardState(KS); end; |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
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. |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
Возможный вариант - присвоить ссылку на этот компонент свойству FocusControl TLabel'а. В примере используется невидимый Label для создания "быстрой" клавиши (Alt+M) компонента Memo. Чтобы использовать пример, разместите на форме компонент TMemo, Label и несколько других компонентов, которые могут принимать фокус ввода. Запустите программу, переведите фокус ввода куда-нибудь вне Memo и нажмите Alt+M - фокус ввода вернется в Memo.
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
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;
|
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
Code: |
procedure TForm1.Button1Click(Sender: TObject); begin ShowWindow(Handle, SW_HIDE); ShowWindow(Application.Handle, SW_HIDE); end; |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
Используйту WinAPI функцию GetKeyState() для определения нажатия клавиши в тексте проекта. Для того чтобы увидеть текст файла проекта в главном меню Delphi 3 выберите "View">>"ProjectSource" в Delphi 4 "Project">>"View Source".
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
Создайте обработчик сообщения WM_MENUCHAR.
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
Пример использования:
Code: |
ChangeLayout(LANG_RUSSIAN); ChangeLayout(LANG_ENGLISH); |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
Code: |
function IsCapsLockOn : Boolean; begin Result := 0 <> (GetKeyState(VK_CAPITAL) and $01); end; |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
Для того, чтобы перехватить нажатие какой-то клавиши на клавиатуре можно использовать зарегистрированную "горячую клавишу" (HotKey). Эта программа пикает при нажатии "1".
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Клавиатура
Страница 9 из 17