Delphi gyorsbillentyűk - gyorsbillentyűk - az egészet, és a programozás

Gyorsbillentyűk - billentyű kombinációk, ami reagál a kérelmet, akkor is, ha nincs rajta fókusz vagy fut a tálcán.

Gyorsgomb áll módosító billentyű (Win, Alt Control Shift), és bármely más gombot, amely egy virtuális kódot.







Annak érdekében, hogy tanítani a programot kezelni a gyorsbillentyűk, ásni a rejtélyes dzsungel az API,

de ezt megelőzően, hozzon létre egy felvezető WM_HOTKEY eseményeket. Ahhoz, hogy ezt elérjük, állapítsa meg a osztály TForm1 következő módszert: saját

És határozza meg, például így:

Ebben a példában az üzenet kezelő WM_HOTKEY ellenőrzi, hogy a vett jel paramétereinek Alt-F10 kombináció, és abban az esetben pozitív választ a fejléc főablak alakjának megfelelő sorba.

Most pedig közvetlenül a létrehozása gyorsbillentyűk - a példánkban ez lenne mindegy Alt-F10. Eleinte azt kell regisztrálni a rendszerben. Hogyan történik ez? Az eszköz használata során:

  • HWnd - az ablak üzenetek feldolgozása WM_HOTKEY,
  • fsModifiers - módosítók (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN),
  • vk - a virtuális kódot (lásd állandók VK_ előtagot.).

id paraméter érdemel külön vitát.

Egy alkalmazás id érték közötti tartományban 0000h..BFFFh és a megosztott könyvtárak dinamikus tartomány lesz olyan: C000h..FFFFh.

Ahhoz azonban, hogy elkerüljék a különböző gyorsbillentyűk folyamatok megfelelő használata a visszaadott érték GlobalAddAtom funkció átadva paraméterként bizonyos null-terminált karakterlánc, maximum 255 karakter hosszúságú lehet.







Íme:

Állapítsa egy globális változó kulcsazonosító: egész szám;

Ez lesz az atom, amely létrehozza a fenti függvény, és szolgál majd a azonosítója gyorsgomb. Az egyszerűség kedvéért tegye formájában két gomb - az első az, hogy hozzon létre HotKey, a második -, hogy elpusztítsa.

Tehát, hozzon létre, és regisztrálja a gyorsgomb:

És a következő kódot törli a regisztrált gombot, és eltávolítja az atom:

Nézzük meg egy másik fontos szempont a munka a billentyűzet - a módja annak, hogy nyomon követheti az állam a kulcsok Num Lock, Caps Lock és Scroll Lock beszúrása.

Egyértelmű, hogy a saját eszközeivel Delphi nem tud itt.

Mi lesz újra felfedez API. Először is, meg egy változó típusú kulcs szó.

Ez a változó lehet rendelni egy értéket az egyik állandók:

Szoftver kapcsolási billentyűzetkiosztás - ha a Microsoft Word képes erre, miért nem próbálja meg, és mi?

ActivateKeyboardLayout (0, HKL_NEXT) - lépkedni az elrendezést.

Töltse Orosz, akkor a kód:

Itt talán és minden bölcsesség a billentyűzetet.

Az alábbiakban kód feldolgozására az audio jelet származó input hangkártya (SoundBlaster). Remélem ez segít, hogy ezt a bonyolult témát. Tartalmazza a kódot RECUNIT modul nem a kemény munka kitermelése audio a hangkártya bemenet. Var WaveRe.

(. Mycursor.ani - tartalmazó fájl animált kurzor, akkor hozza létre a Microsoft aniedit.exe program) const crMyCursor = 1; eljárás TForm1.FormCreate (Sender: TObject); kezdődik // Load a mutatót. Az egyetlen módja, hogy ez Screen.Cursors [crMyCursor]: = LoadCursorFromFile ( „c.

Első (mivel sok esik ebbe a csapdába), győződjön meg arról, hogy a név .RES-fájlt, amelyben tartod a kurzort eltér a .RES-fájlt a projekt, azaz ha a projekt neve MyApp.DPR, ne használja tárolására az új erőforrás fájl MyApp.RES. Létre kell hoznia egy osztály.

/ * Root (MINIMIZE.DPR) programot minimalizálása; a Windows, üzenetek; var Count: integer; funkció EnumProc (WinHandle: HWnd; Param: LongInt): Boole; stdcall; kezdeni, ha (GetParent (WinHandle) = 0), és (nem IsIconic (WinHandle)) és (IsWindowVisible (WinHandle)), azután indítsa PostMessage (.

mov ax, 5301h sub bx, bx int 15h jb megálló mov ax, 530eh sub bx, bx int 15h jb megálló mov ax, 5307h mov bx, 0001h mov cx, 0003h int 15h megálló: int 20h.




Kapcsolódó cikkek