HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Billentyű lenyomás szimulálása tetszőleges alkalmazásnál


Példaprogram letöltése

6934 bájt

Mellékelt példában egy olyan alkalmazást valósítunk meg, mely képes arra, hogy az épp aktív programnál billentyű lenyomásokat szimuláljon. Ennek hatására az adott program úgy érzékeli, hogy a programunk által küldött billentyűket a felhasználó a billentyűzeten keresztül nyomkodta le.

A megvalósításhoz a SendKeys osztályt használhatjuk, ezen belül is a Send függvényt. Ez egyetlen sztring típusú paramétert vár. A megadott sztringben lévő karakterek lesznek azok, melyeket az aktív program úgy érzékel, mintha a felhasználó azokat a billentyűzeten keresztül gépelte volna be.
Send
Osztály: System.Windows.Forms.SendKeys
Public Shared Sub Send( ByVal keys As String )
Send függvény segítségével szimulálhatunk tetszőleges billentyű lenyomásokat.
Paraméterek
ByVal keys As String
A keys paraméterben kell megadni azt a sztringet, mely tartalmazza a szimulálandó karaktereket.
Megjegyzés
A speciális billentyűkhöz egy-egy kód tartozik. E kód elhelyezése a keys paraméter sztringjében egyenértékű lesz a kódhoz tartozó billentyű lenyomásával.
Billentyű Kód
BACKSPACE {BACKSPACE} vagy {BS} vagy {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DELETE {DELETE}
END {END}
ENTER {ENTER}vagy ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} vagy {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
Keypad + {ADD}
Keypad - {SUBTRACT}
Keypad * {MULTIPLY}
Keypad / {DIVIDE}
Lehetőségünk van arra is, hogy módosító billentyűket is szimuláljuk. Ehhez az alábbi jelek egyikét kell használnunk, majd zárójelek között megadni azokat a karaktereket, melyekre szükségünk van.
Billentyű Kód
SHIFT +
CTRL ^
ALT %
Így például a "+(a)" elküldése egyenértékű egy shift + a billentyű kombinációval.
Arra is van lehetőségünk, hogy egy karaktert megismételtessünk egy általunk megadott darabszámig. Ehhez kapcsos zárójelek között adjuk meg az adott karaktert, majd írjuk utána számmal, hogy hány ismétlést szeretnénk.
Speciális karakterek szimulálására is van lehetőségünk. Ezek esetén a nevüket kell leírnunk szintén kapcsos zárójelek közé. Például egy Enter billentyű szimulálásához az "{enter}" sztringet kell átadni.
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    SendKeys.Send("ab")
    SendKeys.Send("+(cd)")
    SendKeys.Send("{e 10}")
    SendKeys.Send("{enter}")
    SendKeys.Send("{tab}")
End Sub
Tudnunk kell, hogy a SendKeys osztály használatával csak Windows alkalmazásoknál szimulálhatjuk a billentyű kombinációk lenyomását, valamint azt, hogy a PrintScreen billentyű nem szimulálható.
Másik hasznos függvénye a SendKeys osztálynak a SendWait függvény. Ez nem csak elküldi a fenti szabályok figyelembevételével átadott sztringet az adott alkalmazásnak, de meg is várja, amíg az adott program ezt fogadni tudja. Vagyis a SendWait függvény hívás után a saját program futása csak akkor folytatódik a következő utasításunknál, ha fogadó alkalmazás már feldolgozta a kapott billentyű „lenyomást”.

Cikksorozat



Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |