2010-08-07 93 views
16

我想送CTRL一個(選擇所有的應用程序在這種情況下,詞,但嘗試,因爲我可能它不工作)我已經嘗試了不少組合但都無濟於事,有什麼想法?的SendKeys按Ctrl-A不工作

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

回答

4

你嘗試

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

嘗試這樣做,這是行不通的。 嘗試使用Alt鍵連擊,他們不給我任何工作.... – ALI 2010-08-07 16:36:15

4

的SendKeys是區分大小寫的。試試這個:

SendKeys.Send("^a"); 

我不知道,但似乎

SendKeys.Send("^A"); 

意味着按Ctrl ++一個。至少它在某些應用程序中以這種方式工作。

+0

的移碼+,所以如果你想大寫字母A,你就必須做(「+ ^一」) – Dman 2015-12-24 16:28:40

37

要指定任何組合SHIFT,CTRLALT應該按住其他幾個鍵時按下,將這些鍵的代碼括在括號內。例如,要指定按住SHIFTEC被按下,請使用+(EC)。要指定按住SHIFT 按下ē,其次是Ç沒有SHIFT,使用+EC

答案是:

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

這實際上是最好的答案......不幸的是,OP沒有選擇一個。 – NotCoffeeTable 2013-05-10 21:55:23

+0

這不是答案,它明確指出,如果控制鍵只需要一個鍵,則不需要括號。 – EliSherer 2014-10-23 08:58:36