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”.