2010-08-07 16 views
16

Je suis en train d'envoyer CTRLA (tout sélectionner une application dans ce mot de cas, mais essayez comme je pourrais cela ne fonctionne pas) J'ai essayé pas mal de combinaisons mais tout en vain, des idées?SendKeys Ctrl-A ne fonctionne pas

 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)"); 

Répondre

4

Avez-vous essayé

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

essayé et cela ne fonctionne pas. Essayé d'utiliser alt combos touches de touches et ils ne fonctionnent pas pour moi non plus .... – ALI

4

SendKeys sensible à la casse. Essayez ceci:

SendKeys.Send("^a"); 

Je ne sais pas, mais il semble que

SendKeys.Send("^A"); 

signifie Ctrl +Maj +A. Au moins, cela fonctionne de cette façon dans certaines applications.

+0

Le code de décalage est +, donc si vous voulez le capital A vous auriez à faire ("+^un") – Dman

37

Pour spécifier qu'une combinaison de SHIFT, CTRL et ALT doit être maintenue enfoncée pendant que plusieurs autres touches sont enfoncées, placez le code de ces clés entre parenthèses. Par exemple, pour spécifier la maintenir enfoncée SHIFT tout E et C sont pressés, utilisez +(EC). Pour spécifier à maintenir enfoncée SHIFT tandis que E est pressé, suivi par C sans SHIFT, utilisez +EC.

réponse est:

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

C'est en fait la meilleure réponse ... dommage que OP n'en ait pas sélectionné un. – NotCoffeeTable

+0

Ce n'est pas la réponse, il indique clairement que si une seule clé est nécessaire par la clé de contrôle, il n'y a pas besoin de parenthèses. – EliSherer