Sendkey komutu
Aug 08,2008 00:00 by RubeNiS
Sendkeys komutu ile o an aktif olan programa klavyeden tuşa basılırmış gibi
’mesaj gönderebiliriz.
’Komutun Kullanımı:SendKeys "tuş",bekleme formatındadır.
’SendKeys "V", True v harifini gönderir.
’SendKeys "123", True 123 gönderir.

’CTRL,ALT,Shift gibi tuşlarla kombinasyon:
’CTRL-C:SendKeys "^c"
’ALT -F4: SendKeys "%{F4}"
’Shift-V:SendKeys "+V"
’Burada "^":CTRL "%":ALT "+":Shift ’i temsil eder
’Şimdi Hesap Makinesini açan verilen sayının logaritmasını alıp panoya kopyalayıp
’daha sonra hesap makinesini kapatıp sonucu programda gösteren basit bir örnek yapalım.
’Bunun için formumuza 1 Textbox 1 CommandButton 1 Label koyuyoruz.

Private Sub Command1_Click()
’Textbox ın adı text1 olmalı ve logaritması alınacak sayı text1’e yazılmalı.

Dim y ’Hesap makinesinde logaritma almanın kısa yolu L harfidir y değişkeni
’hem text1 deki sayıyı alacak hemde L
Dim x
Clipboard.Clear ’ O An Panoda ne varsa temizlenir
y = Val(Text1.Text) & "L" ’işte hesap makinesine göndereceğimiz sayı ve komut hazır.
x = Shell("calc.exe") ’ Hesap makinesini çalıştırıyoruz.
AppActivate x ’Hesap makinesini aktif hale getiriyoruz.
SendKeys y, True ’Logaritmasını alacağımız sayıyı yolladık ve logu alındı.
SendKeys "^c", True ’CTRL-C yolladık.Yani sonucu panoya kopyaladık.
SendKeys "%{F4}", True ’Hesap Makinesini kapadık.
Me.Show ’Formumuzu öne getirdik.
Label1.Caption = Clipboard.GetText ’ Nihayet Sonuç Burda.

End Sub


’SendKeys "{HOME}"
’SendKeys "{ENTER}"
’bu iki tuşu gönderirseniz farenin kilitlendiğini görebilirsiniz.


Bazı Tuşların Kodları
Backspace {BS} Delete {DEL}
Escape {ESC} Home {HOME}
Insert {INS} End {END}
F1 {F1} Sol Ok [LEFT}
F2 {F2} Sağ Ok {RIGHT}
....... .......... Yukarı Ok {UP}
F12 {F12} Aşağı Ok {DOWN}
Numlock {NUMLOCK} Capslock {CAPSLOCK}
Help {HELP} Break {BREAK}
Tab {TAB} Enter {ENTER}