SendKeys.Send(String) Yöntem

Tanım

Tuş vuruşlarını etkin uygulamaya gönderir.

public:
 static void Send(System::String ^ keys);
public static void Send (string keys);
static member Send : string -> unit
Public Shared Sub Send (keys As String)

Parametreler

keys
String

Gönderilecek tuş vuruşlarının dizesi.

Özel durumlar

Tuş vuruşları gönderilecek etkin bir uygulama yok.

keys geçerli tuş vuruşlarını temsil etmez.

Örnekler

Aşağıdaki kod örneğinde yönteminin nasıl kullanılacağı gösterilmektedir Send . Örneği çalıştırmak için, aşağıdaki kodu Button1 adlı düğmeyi içeren Form1 adlı bir forma yapıştırın. Tıklama olaylarının bu örnekteki olay işleme yöntemleriyle ilişkilendirildiğinden emin olun. Düğme denetiminin TabIndex özelliği 0 olarak ayarlanmalıdır. Örnek çalışırken, düğmenin tıklama olayını tetiklemek için forma çift tıklayın.

private:
   // Clicking Button1 causes a message box to appear.
   void Button1_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      MessageBox::Show( "Click here!" );
   }

   // Use the SendKeys.Send method to raise the Button1 click event 
   // and display the message box.
   void Form1_DoubleClick( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      
      // Send the enter key; since the tab stop of Button1 is 0, this
      // will trigger the click event.
      SendKeys::Send( "{ENTER}" );
   }

// Clicking Button1 causes a message box to appear.
private void Button1_Click(System.Object sender, System.EventArgs e)
{
    MessageBox.Show("Click here!");
}

// Use the SendKeys.Send method to raise the Button1 click event 
// and display the message box.
private void Form1_DoubleClick(object sender, System.EventArgs e)
{

    // Send the enter key; since the tab stop of Button1 is 0, this
    // will trigger the click event.
    SendKeys.Send("{ENTER}");
}

' Clicking Button1 causes a message box to appear.
Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
    MessageBox.Show("Click here!")
End Sub


' Use the SendKeys.Send method to raise the Button1 click event 
' and display the message box.
Private Sub Form1_DoubleClick(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles MyBase.DoubleClick

    ' Send the enter key; since the tab stop of Button1 is 0, this
    ' will trigger the click event.
    SendKeys.Send("{ENTER}")
End Sub

Açıklamalar

Her anahtar bir veya daha fazla karakterle temsil edilir. Tek bir klavye karakteri belirtmek için karakterin kendisini kullanın. Örneğin, A harfini temsil etmek için yöntemine "A" dizesini geçirin. Birden fazla karakteri temsil etmek için, her ek karakteri kendisinden öncekine ekleyin. A, B ve C harflerini temsil etmek için parametresini "ABC" olarak belirtin.

Artı işareti (+), şapka işareti (^), yüzde işareti (%), tilde (~) ve parantezlerin () için SendKeysözel anlamları vardır. Bu karakterlerden birini belirtmek için ayraç içine alın ({} ). Örneğin, artı işaretini belirtmek için "{+}" kullanın. Küme ayracı karakterleri belirtmek için "{{}" ve "{}}" kullanın. Köşeli ayraçların ([ ]) için SendKeysözel bir anlamı yoktur, ancak bunları ayraç içine almanız gerekir. Diğer uygulamalarda köşeli ayraçlar, dinamik veri değişimi (DDE) gerçekleştiğinde önemli olabilecek özel bir anlama sahiptir.

Dikkat

Uygulamanız çeşitli klavyelerle uluslararası kullanıma yönelikse, kullanımı Send öngörülemeyen sonuçlar verebilir ve bundan kaçınılmalıdır.

ENTER veya SEKME gibi bir tuşa ve karakterleri değil eylemleri temsil eden tuşlara bastığınızda görüntülenmez karakterleri belirtmek için aşağıdaki tabloda yer alan kodları kullanın.

Anahtar Kod
BACKSPACE {BACKSPACE}, {BS} veya {BKSP}
MOLA {BREAK}
BÜYÜK HARF TUŞU {CAPSLOCK}
DEL veya DELETE {DELETE} veya {DEL}
AŞAĞI OK {DOWN}
END {END}
ENTER {ENTER} veya ~
ESC {ESC}
YARDIM {HELP}
GİRİŞ SAYFASI {HOME}
INS veya INSERT {INSERT} veya {INS}
SOL OK {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC} (gelecekte kullanım için ayrılmıştır)
SAĞ OK {RIGHT}
KAYDıRMA KILIDI {SCROLLLOCK}
TAB {TAB}
YUKARI OK {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}
Tuş takımı ekleme {ADD}
Tuş takımı çıkarma {ÇıKARMA}
Tuş takımı çarpma {ÇARPMA}
Tuş takımı bölme {DIVIDE}

SHIFT, CTRL ve ALT tuşlarının herhangi bir bileşimiyle birlikte tuşları belirtmek için, anahtar kodunun önüne aşağıdaki kodlardan birini veya daha fazlasını ekleyin.

Anahtar Kod
ÜSTKRKT +
CTRL ^
ALT %

Shift, CTRL ve ALT birleşimlerinin diğer tuşlara basılırken basılı tutulması gerektiğini belirtmek için, bu tuşların kodunu parantez içine alın. Örneğin, E ve C tuşlarına basıldığında SHIFT tuşunu basılı tutmayı belirtmek için "+(EC)" kullanın. E tuşuna basıldığında SHIFT tuşunu basılı tutmayı ve ardından SHIFT olmadan C tuşunu basılı tutmayı belirtmek için "+EC" kullanın.

Yinelenen anahtarları belirtmek için {key number} formunu kullanın. Anahtar ve sayı arasına boşluk koymanız gerekir. Örneğin, {LEFT 42}, SOL OK tuşuna 42 kez basıldığını gösterir; {h 10}, H tuşuna 10 kez basmak anlamına gelir.

Not

Başka bir uygulamayı etkinleştirmek için yönetilen bir yöntem olmadığından, bu sınıfı geçerli uygulama içinde kullanabilir veya ve gibi FindWindow SetForegroundWindowyerel Windows yöntemleri kullanarak diğer uygulamalara odaklanmaya zorlayabilirsiniz.

Not

sınıfı, SendKeys Windows Vista üzerinde çalışan uygulamalarda kullanımını etkinleştirmek üzere .NET Framework 3.0 için güncelleştirildi. Windows Vista'nın (Kullanıcı Hesabı Denetimi veya UAC olarak bilinir) gelişmiş güvenliği, önceki uygulamanın beklendiği gibi çalışmasını engeller.

Sınıfı SendKeys , bazı geliştiricilerin geçici olarak çözmesi gereken zamanlama sorunlarına duyarlıdır. Güncelleştirilmiş uygulama hala zamanlama sorunlarına duyarlıdır, ancak biraz daha hızlıdır ve geçici çözümlerde değişiklik yapılmasını gerektirebilir. SendKeys sınıfı önce önceki uygulamayı kullanmayı dener ve bu başarısız olursa yeni uygulamayı kullanır. Sonuç olarak, SendKeys sınıf farklı işletim sistemlerinde farklı davranabilir. Ayrıca, SendKeys sınıf yeni uygulamayı kullandığında, yöntemi iletilerin SendWait başka bir işleme gönderildiğinde işlenmesini beklemez.

Uygulamanız işletim sisteminden bağımsız olarak tutarlı davranışlara dayanırsa, app.config dosyanıza aşağıdaki uygulama ayarını ekleyerek sınıfı yeni uygulamayı kullanmaya zorlayabilirsiniz SendKeys .

<appSettings>

<add key="SendKeys" value="SendInput"/>

</appSettings>

sınıfını SendKeys önceki uygulamayı kullanmaya zorlamak için bunun yerine değerini "JournalHook" kullanın.

Şunlara uygulanır