2010-08-07 7 views
16

Ich versuche CTRL sendenA (wählen Sie alle zu einer Anwendung in diesem Fall Wort, sondern versuchen, wie ich könnte es nicht funktioniert) Ich habe versucht, eine ganze Reihe von Kombinationen aber alles ohne Erfolg, irgendwelche Ideen?Tastaturbefehle Strg-A nicht funktioniert

 IntPtr appHandle = FindWindow(null, "Document1 - Microsoft Word"); 
     if (appHandle == IntPtr.Zero) 
     { 
      MessageBox.Show("Specified app is not running."); 
      return; 
     } 

     SetForegroundWindow(appHandle); 
     System.Threading.Thread.Sleep(500); 

     //SendKeys.SendWait("111"); 
     SendKeys.SendWait("^A"); 
     //SendKeys.SendWait("^(A)"); //ctrl a 
     //SendKeys.SendWait("(^A)"); 

Antwort

4

Haben Sie versucht,

SendKeys.SendWait("^{A}"); 
+0

versuchte dies und das nicht funktioniert. Versuchte Gebrauch alt Tastenkombinationen und sie funktionieren auch nicht für mich .... – ALI

4

Sendkeys ist case-sensitive. Versuchen Sie folgendes:

SendKeys.Send("^a"); 

Ich bin nicht sicher, aber es scheint wie

SendKeys.Send("^A"); 

bedeutet Ctrl +Umschalt +A. Zumindest funktioniert es in einigen Anwendungen so.

+0

Die Schicht-Code ist +, also, wenn Sie Kapital A möchten, müssten Sie tun ("+^a") – Dman

37

Um festzulegen, dass eine beliebige Kombination aus SHIFT, CTRL und ALT gedrückt werden soll, während mehrere andere Tasten gedrückt werden, den Code für diese Schlüssel in Klammern einschließen. Um beispielsweise SHIFT zu halten, während E und C gedrückt werden, verwenden Sie . Um festzulegen, halten Sie SHIFT während E gedrückt wird, gefolgt von C ohne SHIFT, verwenden +EC.

Antwort ist:

SendKeys.Send("^(a)"); 
+1

Das ist eigentlich die beste Antwort ... schade, dass OP keins ausgewählt hat. – NotCoffeeTable

+0

Das ist nicht die Antwort, es besagt eindeutig, dass, wenn nur ein Schlüssel vom Kontrollschlüssel benötigt wird, die Klammern nicht benötigt werden. – EliSherer