ПредишенСледващото

Бързи клавиши - клавишни комбинации, които могат да отговорят на молбата, дори и ако това не е фокус или тичане в тавата.

Hotkey състои от модифициращ клавиш (Win, Alt, Control, Shift) и натиснете който и да е друг бутон, който има виртуален код.

За да се научи на програмата, за да се справи с клавишни комбинации, ние се рови в мистериозен джунглата на API,

но преди това, да създадете манипулатор WM_HOTKEY събития. За да направите това, ние заявяваме на TForm1 клас следния начин: частна

И това се дефинира така:

В този пример, проверки съобщение манипулатор WM_HOTKEY дали получените сигнали параметрите на натискане комбинация Alt-F10, и в случай на положителен отговор на главния прозорец форма глава съответния изходен линия.

Ние сега се обърнем директно към създаването на горещи клавиши - в нашия пример, това би било все едно Alt-F10. На първо е необходимо да се регистрирате в системата. Как става това? При използване на функцията:

  • hWnd - прозореца на съобщенията се обработват WM_HOTKEY,
  • fsModifiers - модификатори (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN),
  • VK - виртуалната ключов код (виж константи VK_ префикс.).

параметър ID заслужава отделна дискусия.

За заявка номер стойност може да се намира в границите 0000h..BFFFh и за споделени библиотеки динамичен обхват ще бъде така: C000h..FFFFh.

Въпреки това, за да се избегнат конфликти между различните горещи клавиши процеси подходящи за използване на стойността върна функция GlobalAddAtom, да се разпространява като параметър на някои нулев прекратено низ до 255 знака.

Ето как:

Декларирам глобална променлива keyid: цяло число;

Тя ще бъде на атома, който ще се създаде по-горе функция, и ще служи като идентификатор на горещ клавиш. За удобство постави под формата на два бутона - първият е да се създаде HotKey, а вторият - да се унищожи.

Така че, да създавате и да се регистрирате горещ клавиш:

И следния код отменя регистриран ключ, и премахва атом:

Нека разгледаме още един важен аспект от работата с клавиатурата - един начин за проследяване на състоянието на клавишите Num Lock, Caps Lock, Scroll Lock и Insert.

Ясно е, че стандартните инструменти на Delphi не могат да правят тук.

Ние отново ще изкопае API. На първо място, ние определяме променлива от тип Key дума.

Тази променлива може да се придаде стойност на един от най-константи:

Софтуер превключване клавиатурни подредби - ако Microsoft Word може да направи това, защо не го и ние се опитваме?

ActivateKeyboardLayout (0, HKL_NEXT) - цикъл чрез оформлението.

Изтеглете руски, можете да използвате кода:

Тук, може би, и цялата мъдрост на клавиатурата.

По-долу е код за обработка на аудио сигнала, получен от въвеждане звуковата карта на (SoundBlaster). Надявам се, че ще ви помогне да се справят с тази сложна тема. Включено в RECUNIT модул код прави всички упорита работа за извличане на аудио от входа на звуковата карта. Var WaveRe.

Конст crMyCursor = 1; процедура TForm1.FormCreate (Sender: TObject); - (Mycursor.ani файл, съдържащ анимирани курсора, можете да го създадете с помощта на Microsoft aniedit.exe програма.) започва // Заредете показалеца. Начинът за това Screen.Cursors [crMyCursor] само: = LoadCursorFromFile ( "С.

Първо (тъй като много попаднат в този капан), уверете се, че името .RES-файл, в който да запазите курсора на мишката е различна от .RES-файла на вашия проект, т.е. ако вашият проект има име MyApp.DPR, не използвайте за съхранение на нови файлови ресурси MyApp.RES. Трябва да се създаде отдел.

/ * Root (MINIMIZE.DPR) програма Минимизиране; използва Windows, Съобщения; Var Брой: число; функция EnumProc (WinHandle: HWnd; Параметър: LongInt): булева; stdcall; започне ако (GetParent (WinHandle) = 0) и (не IsIconic (WinHandle)) и (IsWindowVisible (WinHandle)), след това започва PostMessage (.

Mov брадва, 5301h под BX, ВХ вътр 15ч JB спирка Mov брадва, 530eh под BX, ВХ вътр 15ч JB спирка Mov брадва, 5307h Mov BX, 0001h Mov CX, 0003h вътр 15ч спирка: Int 20h.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!