Olvasás billentyűk és a billentyűzet állapota
SHRA személyes oldal, blog frilensera, webfejlesztő PHP. Itt osztom a tapasztalatok és gondolatok, töltsön kísérletek az emberek, összegyűjteni tárgyi bizonyítékok saját ostobasága. A minta kódot ezen az oldalon, akkor elfogadja a teljes felelősséget a következményekért való használat, beleértve a mentális egészség és a harmadik felek érdekeit.
Blog / Delphi / Reading billentyűk és a billentyűzet állapota
Delphi végrehajtja tárgyak a felület elemeit különböző események - beleértve karakternél. De van már konkrét ASCII kódok alkalmazását meg kell tartani a fókuszt. Hogyan dolgozik az állam a billentyűzet nélküli onkey események és információkat kaphat a status gombok, sőt, akár bemenet fókusza?
Miért akarsz? Az alkalmazás beolvassa a billentyűzetet anélkül, hogy a bemeneti fókusz, általában ez elég gyanús. Okoznak a megfelelő reakció a antivírus heurisztikus algoritmusok.
Olvasd billentyűzet fókusz szükségessége nélkül narimer, ilyen kérelembe ismert, hogy sok punto váltó.
És van egy hosszú ideje, hogy írjon programok UO shra pilóta. programozás és futás makrók Ultima Online. Ott kellett kijavítani az ablakon „pilot” vezérlőpult tetején az összes ablakot, a a szkript futtatásához meg kell nyomni a megfelelő gombot a panelen. Most pedig másképp csinálni, például biztosította hívás szkriptek funkciógombok vagy ezek kombinációi.
Tekintsük a fő jellemzői, hogy mi biztosítja az operációs rendszer a könyvtárak.
Ez nagyszerű tulajdonsága tartalmazza a User32.dll. A Delphi, hogy bejelentették a yunite ablakok.
Két függvény beolvassa a megadott kulcs, és a harmadik - szól az állam a teljes billentyűzetet a puffer memória (256 bájt).
funkció GetKeyState (virtKey: Egész szám);
funkció GetAsyncKeyState (kulcs: Egész szám);
funkció GetKeyboardState (var: KeyState: Byte);
Mivel a funkciók visszaút „mi van” állapotban van, felmerül a kérdés, hogyan lehet velük dolgozni.
Hogyan lehet ellenőrizni, hogy a préselt vagy nem préselt virtuális gombot?
Így ellenőrizheti-e vagy sem a billentyű lenyomása „bal shift”: