Merhaba değerli Webkolog.net takipçileri, bugünkü yazımızda C# .NET Framework 4 ile uygulamalarımızda diğer uygulamalara veya kontrollere klavye girdisi göndermemizi sağlayan SendKeys sınıfını yakından inceleyeceğiz. SendKeys sınıfı, otomasyon, test veya erişilebilirlik gibi çeşitli senaryolarda oldukça faydalı olabilir.
SendKeys Sınıfı Nedir?
SendKeys sınıfı, Windows'a klavye ile tuşlara basılmış gibi mesajlar göndermemizi sağlayan statik bir sınıftır. Bu sınıf sayesinde, aktif olan pencereye veya belirli bir kontrole metin gönderebilir, özel tuşlara (örneğin, Enter, Ctrl, Alt) basabilir ve tuş kombinasyonları (örneğin, Ctrl+C, Alt+F4) gönderebiliriz.
SendKeys.Send Metodu
SendKeys sınıfının en önemli metodu SendKeys.Send()
metodudur. Bu metot, belirtilen tuşları veya metni aktif olan pencereye
gönderir.
Sözdizimi:
SendKeys.Send(string keys);
- keys: Gönderilecek tuşları veya metni içeren bir dizedir.
Tuş Gösterimi
SendKeys sınıfı, tuşları temsil etmek için özel bir
sözdizimi kullanır. İşte bazı yaygın tuşların gösterimi:
- Metin: Gönderilecek metin doğrudan yazılır (örneğin, "Merhaba").
- Özel Tuşlar: Özel tuşlar küme parantezleri içinde belirtilir (örneğin, {ENTER},
{TAB}, {ESC}).
- Tuş Kombinasyonları: Tuş kombinasyonları için + (Shift), ^ (Ctrl) ve % (Alt) karakterleri kullanılır (örneğin, ^+C veya ^C Ctrl+C'yi temsil eder).
Sık Kullanılan Tuşlar ve
Gösterimleri
İşte SendKeys ile sık kullanılan tuşlardan bazıları:
- {ENTER}: Enter tuşu
- {TAB}: Tab tuşu
- {ESC}: Escape tuşu
- {BACKSPACE} veya {BS}: Backspace tuşu
- {DELETE} veya {DEL}: Delete tuşu
- {HOME}: Home tuşu
- {END}: End tuşu
- {PAGEUP}: Page Up tuşu
- {PAGEDOWN}: Page Down tuşu
- {UP}: Yukarı ok tuşu
- {DOWN}: Aşağı ok tuşu
- {LEFT}: Sol ok tuşu
- {RIGHT}: Sağ ok tuşu
- {F1} - {F12}: Fonksiyon tuşları
- {PRTSC}: Print Screen tuşu
- {CAPSLOCK}: Caps Lock tuşu
- {NUMLOCK}: Num Lock tuşu
- {SCROLLLOCK}: Scroll Lock tuşu
Tuş Kombinasyonları
SendKeys ile tuş kombinasyonları göndermek için
aşağıdaki karakterleri kullanırız:
- +: Shift tuşu (örneğin, +A Shift+A, +()
Shift+Parantez Aç)
- ^: Ctrl tuşu (örneğin, ^C Ctrl+C)
- %: Alt tuşu (örneğin, %F4 Alt+F4)
Örnekler
İşte SendKeys sınıfının farklı senaryolarda nasıl
kullanılacağına dair örnekler:
Örnek 1: Not Defterine
Metin Yazma
using System.Diagnostics;
using System.Windows.Forms;
// Not Defterini aç
Process.Start("notepad.exe");
// Not Defterinin açılması için biraz bekleyin
Thread.Sleep(500);
// Not Defterine metin yazın
SendKeys.Send("Merhaba Webkolog.net{ENTER}");
SendKeys.Send("Bu bir testtir.");
Örnek 2: Bir Formdaki
TextBox'a Metin Yazma
using System.Windows.Forms;
//Formun yüklendiği olayda
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Focus(); // TextBox'a odaklan
SendKeys.Send("Bu metin TextBox'a yazıldı.");
}
Örnek 3: Tuş Kombinasyonu
Gönderme (Alt+F4 ile Pencereyi Kapatma)
using System.Windows.Forms;
//Formun yüklendiği olayda
private void Form1_Load(object sender, EventArgs e)
{
//Formu kapat
SendKeys.Send("%{F4}");
}
SendKeys.SendWait Metodu
SendKeys.Send() metodu, tuşları arka planda gönderir
ve hemen geri döner. Eğer tuşların gönderilmesinin tamamlanmasını beklemek
istiyorsak, SendKeys.SendWait() metodunu kullanabiliriz.
Sözdizimi:
SendKeys.SendWait(string keys);
Ek Notlar
- SendKeys.Send("{1 10}"); //10 kere 1
yazmaya yarar
- SendKeys.SendWait("%({F4})"); //Alt + F4 kısayolunu gönderir
Tuş ve Kod Eşleşmeleri
Aşağıdaki tabloda, SendKeys ile kullanılan bazı tuşların ve kodlarının eşleşmeleri yer almaktadır:
TUŞ |
KOD |
GERİ AL |
{BACKSPACE}, {BS} veya {BKSP} |
SONUNDAN |
{END} |
BÜYÜK HARF TUŞU |
{CAPSLOCK} |
DEL veya DELETE |
{DELETE} veya {DEL} |
AŞAĞI OK |
{DOWN} |
END |
{END} |
ENTER |
{ENTER} veya ~ |
YARDIM |
{HELP} |
INS veya Ekle |
{INSERT} veya {INS} |
SOL OK |
{LEFT} |
NUM KILIDI |
{NUMLOCK} |
SAYFA AŞAĞI |
{PGDN} |
SAYFA YUKARI |
{PGUP} |
PRINT SCREEN |
{PRTSC} |
SAĞ OK |
{RIGHT} |
SCROLL LOCK |
{SCROLLLOCK} |
TAB |
{TAB} |
YUKARI OK |
{UP} |
F1 - F16 |
{F1} - {F16} |
Shift |
+ |
Ctrl |
^ |
Alt |
% |
Açık Parantez |
{(} |
Kapalı Parantez |
{}) |
Bu yazımda, C# .NET Framework 4 ile SendKeys sınıfının ne olduğunu, nasıl kullanıldığını ve nelere dikkat edilmesi gerektiğini anlattım. Umarım faydalı olmuştur.
Webkolog'u takipte kalın!
Hepinize bol kodlu günler dilerim!
0 yorum:
Yorum Gönder